MATLAB:从循环中检索GUI数据

时间:2017-05-08 20:38:25

标签: matlab user-interface

以下情形中的最佳做法是什么:

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

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

这个问题是否有替代的,更优雅的解决方案?

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

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

1 个答案:

答案 0 :(得分:0)

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

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