MATLAB:从循环中检索 GUI 数据



以下情况下的最佳实践是什么:

我有一个在按下按钮时开始的循环,在执行过程中,迭代应该通过 GUI 响应输入(例如滑块值更改(。这在不间断循环中是不可能的,因此,一个有效但笨拙的解决方案是使用暂停,以便:

while true
    get(handles.slider1,'value')
    pause(0.5)
end

有没有替代的、更优雅的解决方案来解决这个问题?

编辑:作为澄清,一个不起作用的变体(即不输出更改的滑块值(:

while true
        get(handles.slider1,'value')     
end

您可以将滑块值更新为全局变量。

function slider1_Callback(hObject, eventdata, handles)
global SliderValue;
SliderValue = hObject.Value;

然后从任何函数访问SliderValue

function pushbutton1_Callback(hObject, eventdata, handles)
global SliderValue;
while a<100
    a = SliderValue + a;
end

最新更新