1

我对 MatLab GUI 构建相当陌生,我在 GUI 中有一个“继续”按钮。

所以基本上,在我的程序中,程序必须等待用户点击“继续”按钮才能继续运行。

我能想到的唯一方法是让程序在 while 循环中无限循环,直到单击按钮并退出循环。这似乎不起作用。

所以循环如下:

while (get(handles.continue,'value')) == 0 
    disp('in the loop')
    guidata(hObject,handles);
end

但是,它没有退出循环。我尝试将按钮从 a 更改pushbutton为 atogglebutton但它不会退出循环。

我知道这不是让程序等待的最有效方法,但谁能告诉我为什么它没有退出该循环或建议一种更有效的方法?

4

1 回答 1

1

正确的做法是编写一个与 Continue 按钮关联的回调:

set(handles.continue, 'Callback', @continueProcessing);

然后,编写continueProcessing函数来执行用户按下按钮后需要执行的任何操作。原型如下:

function continueProcessing(hObj, event)
    ...
end

continueProcessing()只要按下按钮就会运行。请注意,MATLAB 中的回调必须有前两个参数是hObj(现在正在调用其回调的组件的句柄)和eventdata.

于 2013-06-04T18:55:40.250 回答