的文档uitable
提供了一个示例,可以作为一个很好的起点。然后,您可以利用诸如逻辑索引之类的工具来处理对象的各种属性,uitable
以获得所需的表输出。
例如:
function testgui
% Set up some data
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
tf = false(size(LastName));
T = table(Age, Height, Weight, tf);
% Build a GUI
f = figure('Name', 'A uitable', 'NumberTitle', 'off', 'MenuBar', 'none', 'ToolBar', 'none');
uit = uitable('Parent', f, 'Data', table2cell(T), ...
'Units', 'Normalized', 'Position', [0.1, 0.15, 0.8, 0.8], ...
'RowName', LastName, 'ColumnName', {'Age', 'Height', 'Weight', 'Export?'}, ...
'ColumnEditable', [false false false true]);
butt = uicontrol('Parent', f, 'Style', 'pushbutton', 'String', 'Export Data', ...
'Units', 'Normalized', 'Position', [0.1, 0.05, 0.8 0.1], ...
'Callback', @(h,e)table2workspace(uit));
end
function table2workspace(uit)
tmp = uit.Data(:, 4); % Get the state of our checkboxes
exportbool = [tmp{:}]; % Denest the logicals from the cell array
outT = cell2table(uit.Data(exportbool, 1:3), 'VariableNames', uit.ColumnName(1:3), ...
'RowNames', uit.RowName(exportbool));
assignin('base', 'outT', outT); % Dump to base MATLAB workspace for demo purposes
end
这为我们提供了一个演示 GUI,我们可以使用它来将各种形状的表输出到基本 MATLAB 工作区: