自分自身以外のすべてのウインドウを閉じる方法

matlab 2018a を使用し、matlab gui でツールを作成しています。
ボタンを押下時、全てのfigure ウインドウを閉じるようにしたいです。
close all では自分自身も閉じてしまいます。
自分自身以外のウインドウを閉じるようにするにはどうすればよいでしょうか。

 채택된 답변

Kazuya
Kazuya 2018년 11월 30일

1 개 추천

あまりかっこいい方法ではないですが、
close(h) % h は閉じるべきFigureのハンドル
の構文で、「自分自身」以外の Figure をハンドルで明示的に指定して消すしかなさそうですね。。
消されるべきそれぞれの Figure を作る時にハンドルを確保しておくか、'Tag' 名を設定しておき、
h = findobj('Tag',TagName,...)
で取ることもできますが、どうでしょう?

댓글 수: 1

yuuji yamada
yuuji yamada 2018년 11월 30일
편집: yuuji yamada 2018년 12월 1일
ご回答ありがとうございます。
下記の方法で実現することができました。
どうもありがとうございました。
h=get(groot, 'Children'); % ウインドウオブジェクトを全て取得
for i=1:length(h)
if ~strcmp( h(i).Tag, 'メインウインドウのTag')
close(h(i)); % メインウインドウ以外を閉じる
end
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 対話型コントロールとコールバック에 대해 자세히 알아보기

질문:

2018년 11월 29일

편집:

2018년 12월 1일

Community Treasure Hunt

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

Start Hunting!