2016-02-21 2 views
0

Есть ли способ для добавить кнопку в ячейку таблицы в графическом интерфейсе Matlab, чтобы каждая кнопка могла выполнять действие в зависимости от того, в какую строку его?Кнопка в Matlab GUI Table Cell

Sample of What I am trying to make

+0

[Этот ответ] (http://stackoverflow.com/a/11263140/4806927) может помочь вам. –

ответ

1

Вы не можете сделать это, не прибегая к использованию элементов управления Java (что-то вроде this может получить ты); однако вы можете настроить CellSelectionCallback на uitable и определить, что выполнять на основе строки.

function callback(eventData) 
    if eventData.Indices(2) == 3 
     fprintf('Clicked Row %d\n', eventData.Indices(1)) 
    end 
end 

fig = figure() 

data = {'a', '1', 'Click Me'; 
     'b', '2', 'Click Me'}; 

u = uitable(fig, 'data', data, 'CellSelectionCallback', @(s,e)callback(e)); 

Если вы действительно хотите стиль, похожий на кнопку, вы можете использовать возможность размещения HTML в своих ячейках.

data = {'a', '1', '<html><input type="submit" value="Click Me"/></html>'; 
     'b', '2', '<html><input type="submit" value="Click Me"/></html>'}; 
+0

Хорошее обходное решение с тегами 'html'. Он не изменяет размер красиво, но он делает трюк ... и не нуждается в хаке. – Hoki