编写一个GUI属性设置助手-MATLAB GUI界面开发****
程序员文章站
2022-05-21 22:21:42
...
在编写GUI程序时,往往需要频繁地操作控件的属性,本工具可以帮助你快速查看控件属性。
01 属性设置助手
在编写GUI程序时,往往需要频繁地操作控件的属性,虽然MATLAB只有十几个控件,但每个控件都有几十个属性可以设置,且属性名称大小写敏感。即便是熟练者记住如此繁多的属性名称仍将是一个费力的事情,何况初学者呢?
因此,我设计了一个属性查看助手界面工具。如下所示。
02 界面程序代码
你可以通过查看原文获取全部的源码。注意,该工具统一依赖数据文件doc.mat。源代码:源码地址。
function [hfig, handles] = guiHelper()
hfig = figure('Position', [600 100 510 800],...
'Name', 'GUI属性查看助手', 'NumberTitle', 'off', 'ToolBar', 'none', 'MenuBar', 'none');
text = uicontrol(hfig, 'Style', 'text', 'Position', [10 740 100 50],...
'String', '控件名称');
popup = uicontrol(hfig, 'Style', 'popupmenu', 'Position', [110 740 100 50]);
data = load('doc.mat');
keys = fieldnames(data.doc);
key = keys{1};
value = data.doc.(key).tableData;
table = uitable(hfig, 'Data', value, 'Position', [10, 10, 500, 740]);
table.ColumnName = {'属性', '属性值', '可选值'};
table.ColumnWidth = {100 100 200};
handles.figure = hfig;
handles.table = table;
handles.popup = popup;
handles.text = text;
handles.doc = data.doc;
% popup callback
popup.String = keys;
popup.Callback = @(o, e)popup_callback(o,e, guidata(o));
guidata(hfig, handles);
end
function popup_callback(hObject, eventdata, handles)
k = hObject.String{hObject.Value};
handles.table.Data = handles.doc.(k).tableData;
end