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

1 回表示 (過去 30 日間)
VBBV
VBBV 2018 年 11 月 27 日
コメント済み: Roche de Guzman 2021 年 1 月 20 日
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 ?

採用された回答

Image Analyst
Image Analyst 2018 年 11 月 28 日
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 件のコメント
Roche de Guzman
Roche de Guzman 2021 年 1 月 20 日
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.

サインインしてコメントする。

その他の回答 (1 件)

YT
YT 2018 年 11 月 28 日
If you want to stop your iteration (for/while loop), you could try break instead of return.
  1 件のコメント
VBBV
VBBV 2018 年 11 月 28 日
編集済み: VBBV 2018 年 11 月 28 日
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 ?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by