how to ensure that a functions has finished GUI

3 次查看(过去 30 天)
Hi, I have the an issue on my GUI environment with a a slider (e.g. slider_myslider), which calls a callback function everytime is being moved, e.g.
function slider_myslider_Callback(hObject,eventdata,handles)
disp('start');
myfunction()
disp('stop');
end
function myFunction()
disp('myFunction');
"wait 10sec"
end
Every time I move the silder the above callback functions is called. I press it two time what I'm going to get is:
start
start
stop
stop
However what I would like to have is
start
myFunction
stop
start
myFunction
stop
At the beginning I thought it had to do with multithreading, however I think it has to do with the fact that the call of myFunction is not asynchronous. Any suggestions?

采纳的回答

Symeon Mattes
Symeon Mattes 2012-8-14
Actually it wasn't BusyAction, but you helped me to check it further. BusyAction was already 'queue'. I had to change Interruptible to 'off'.

更多回答(1 个)

Walter Roberson
Walter Roberson 2012-8-14
Set the BusyAction of the slider to 'queue'

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by