How to close mutiple uifigure using command

269 次查看(过去 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,4:47
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 中查找有关 Develop uifigure-Based Apps 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by