How to close mutiple uifigure using command

112 次查看(过去 30 天)
I run fig = uifigure many time in Matlab,so I genetared lots of uifigure ,I want to close all uifigure with one line of command.Do you know what command I should enter in Matlab.Thank you very much

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-14
Run this
all_fig = findall(0, 'type', 'figure');
close(all_fig)
  6 个评论
Yang Liu
Yang Liu 2023-11-10
Thank you, but don't take my wife. Your codes works for me, just a quick question:
What does the 0 represent? I try to figure out with help findall, and find nothing helpful...
Thanks, and take my wife now.
Voss
Voss 2024-4-4
0 is the graphics root object, which is also returned by the groot function, so you could do findall(groot,_)

请先登录,再进行评论。

更多回答(2 个)

Adam Danz
Adam Danz 2020-10-14
编辑:Adam Danz 2020-10-14
Just to add another approach,
Set HandleVisibility to on when you create the UIFigures. That way their handles will be visible to gcf() , close all, etc....
uifigure('HandleVisibility', 'on')
  5 个评论
Yang Liu
Yang Liu 2023-11-10
I don't konw why but this doesn't work for me... weird...

请先登录,再进行评论。


Bjorn Gustavsson
Bjorn Gustavsson 2020-10-14
If you want to keep some figures you can close a subset of them if you keep the figure-handles in an array. If you modify your creation to something like this for all call to uifigure:
if ~exist('uifig')
uifig = uifigure;
else
uifig(end+1) = uifigure;
end
if ~exist('uifig')
uifig = uifigure;
else
uifig(end+1) = uifigure;
end
% ...etc
% then you can close some suitable set of them, or all of them
% closing all:
close([uifig]),clear uifig
% closing some:
close([uifig([1 3])]),uifig([1 3]) = [];
HTH

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by