How can i stop the loop iteration using pushbutton callback in MATLAB GUI?

1 view (last 30 days)
I have GUI which has pushbutton to stop the for loop iteration. the code structure for stop button callback is follows
g = 1
handles.g = g
guidata(hObject,handles)
When i press the button, it sets the value of g = 1;
In the iteration loop, i have passed the updated value of g using
g = handles.g
and issuing a condition to stop the loop iterations
if g == 1
return
end
however, the iteration loop does not stop, since the value of g resets to 0
why does this happen ?

Accepted Answer

Image Analyst
Image Analyst on 28 Nov 2018
I have a very small demo that does exactly that. It start counting, then when you press stop, it stops counting and updating the text label on the GUI. Then when you press Go, it starts counting and updating the label again.
  1 Comment
Roche de Guzman
Roche de Guzman on 20 Jan 2021
I tried doing a similar process in MATLAB app but the changing of user data to true (1) only happens after the iteration (on queue). I have attached the mlapp file.

Sign in to comment.

More Answers (1)

YT
YT on 28 Nov 2018
If you want to stop your iteration (for/while loop), you could try break instead of return.
  1 Comment
VBBV
VBBV on 28 Nov 2018
Edited: VBBV on 28 Nov 2018
yes, i have tried that as well. still it does not stop. because it does not enter the if loop, since the value of g resets to 0. why does this happen ?

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!