編寫一個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

 

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