6

我正在尝试实现一个非常简单的 GUI,它只包含一个按钮。我希望它以 START 作为标签开始。然后按下它变为停止。当用户第一次单击按钮时,回调将布尔值设置为 true 并更改标签。当第二次单击按钮时,布尔值更改为 false 并且 GUI 关闭。

我找不到任何关于如何在 MATLAB 中制作像这样的简单 GUI 的信息。GUIDE 工具对我来说毫无意义,而且似乎生成了很多无用的代码。Matlab 按钮是 jButtons 的包装器,如此处所示

4

1 回答 1

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])
于 2013-01-04T01:55:16.493 回答