编写一个GUI属性设置助手-MATLAB GUI界面开发视频教程

 在编写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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章