MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

cansu
0

In my gui3 , i want to break loop when i close the gui figure window

cansu
さんによって質問されました 2019 年 1 月 30 日
最新アクティビティ Jan
さんによって コメントされました 2019 年 1 月 30 日
I created closeRequestFunc with this code;
function figure1_CloseRequestFcn(hObject,eventdata,handles)
clear playsnd
delete(hObejct);
end
My for loop works. But i want to add if statement to break loop when closing figure window
i tried this but not work.
if (handles.figure1_CloseRequestFcn)
break;
end
What do you suggest ???

  1 件のコメント

Jan
2019 年 1 月 30 日
By the way: this is not twitter. No # before the tags, please.

サインイン to comment.

2 件の回答

回答者: Rik
2019 年 1 月 30 日
 採用された回答

You can write a small function that tests if the object still exists. Unfortunately, exist and isobject don't solve this for you.
if isdeleted(handles.figure1)
break;
end
function tf=isdeleted(h)
tf=false;
try
get(h);
catch ME
if strcmp(ME.identifier,'MATLAB:class:InvalidHandle')
tf=true;
end
end
end

  3 件のコメント

Adam
2019 年 1 月 30 日
isgraphics( handles.figure1 )
should tell you this too?
Rik
2019 年 1 月 30 日
@Adam, good point, didn't think about that function. You could also move that comment to an answers.
@Rik ,Thanks a lot, it works!!

サインイン to comment.


回答者: Adam
2019 年 1 月 30 日

isgraphics( handles.figure1 )
will tell you if the figure is still active or has been deleted.

  0 件のコメント

サインイン to comment.



Translated by