在編寫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