我正在尝试实现一个非常简单的GUI,它只包含一个pushButton。我希望它只是以START作为标签开始。然后按下它变为STOP。当用户第一次将回调设置为true并更改标签时,单击该按钮。单击Button时,布尔值第二次更改为false,GUI关闭。
我找不到任何关于如何在MATLAB中制作这样的简单GUI的方法。 GUIDE工具对我来说毫无意义,似乎产生了这么多无用的代码。 Matlab按钮是jButton的包装器,见here
答案 0 :(得分:4)
GUIDE非常简单 - 自动化工具为所有回调生成存根,因此剩下的就是填写每次回调运行时要执行的代码。如果您希望以编程方式创建GUI,可以按如下方式创建所需的按钮:
%# create GUI figure - could set plenty of options here, of course
guiFig = figure;
%# create callback that stores the state in UserData, and picks from
%# one of two choices
choices = {'start','stop'};
cbFunc = @(hObject,eventdata)set(hObject,'UserData',~get(hObject,'UserData'),...
'string',choices{1+get(hObject,'UserData')});
%# create the button
uicontrol('parent',guiFig,'style','pushbutton',...
'string','start','callback',cbFunc,'UserData',true,...
'units','normalized','position',[0.4 0.4 0.2 0.2])