在
以下情况下的最佳实践是什么:
我有一个在按下按钮时开始的循环,在执行过程中,迭代应该通过 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