陷入while循环; MATLAB GUI

时间:2013-06-04 18:33:11

标签: matlab user-interface while-loop

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

所以基本上,在我的程序中的某个时刻,程序必须等待用户点击“继续”按钮继续。

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

所以循环如下:

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

然而,它并没有退出循环。我尝试将按钮从pushbutton更改为togglebutton,但不会退出循环。

我知道这不是使程序等待的最有效方法,但任何人都可以告诉我为什么它不会退出该循环或建议更有效的方式?

1 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是编写与“继续”按钮关联的callback

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

然后,编写continueProcessing函数,以便在用户按下按钮后执行您需要执行的操作。原型如下:

function continueProcessing(hObj, event)
    ...
end
只要按下按钮,

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