以下情形中的最佳做法是什么:
我有循环,在按下按钮时开始,在执行期间,迭代应响应通过GUI的输入(例如滑块值改变)。这在不间断循环中是不可能的,因此,一个工作但笨拙的解决方案是使用暂停,以便:
while true
get(handles.slider1,'value')
pause(0.5)
end
这个问题是否有替代的,更优雅的解决方案?
编辑:作为澄清,一个不起作用的变体(即不输出更改滑块值):
while true
get(handles.slider1,'value')
end
答案 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