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

11 次查看(过去 30 天)
yuuji yamada
yuuji yamada 2018-11-29
matlab 2018a を使用し、matlab gui でツールを作成しています。
ボタンを押下時、全てのfigure ウインドウを閉じるようにしたいです。
close all では自分自身も閉じてしまいます。
自分自身以外のウインドウを閉じるようにするにはどうすればよいでしょうか。

采纳的回答

Kazuya
Kazuya 2018-11-30
あまりかっこいい方法ではないですが、
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 个)

类别

Help CenterFile Exchange 中查找有关 グラフィックス オブジェクトのプロパティ 的更多信息

Community Treasure Hunt

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

Start Hunting!