How to close mutiple uifigure using command

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

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 14 Okt. 2020

10 Stimmen

Run this
all_fig = findall(0, 'type', 'figure');
close(all_fig)

6 Kommentare

bo peng
bo peng am 14 Okt. 2020
thank you for your reply, your answer is correct,but I think Adam Danz's answer is I want.
Uzi Yona
Uzi Yona am 11 Okt. 2021
Thanks a lot. This work very good.
bo peng
bo peng am 19 Apr. 2022
your answer is so great !!!
Edward B
Edward B am 5 Sep. 2022
That is the most concise and elegant two-liner since:
Take my wife.
Please.
Yang Liu
Yang Liu am 10 Nov. 2023
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 am 4 Apr. 2024
0 is the graphics root object, which is also returned by the groot function, so you could do findall(groot,_)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Adam Danz
Adam Danz am 14 Okt. 2020
Bearbeitet: Adam Danz am 14 Okt. 2020

4 Stimmen

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 Kommentare

bo peng
bo peng am 14 Okt. 2020
your answer is so great
I2M
I2M am 4 Jan. 2021
Yes very nice answer because when you move from guide to app it is not easy to uderstand that
Jan Kudlacek
Jan Kudlacek am 29 Dez. 2021
Bearbeitet: Jan Kudlacek am 29 Dez. 2021
In Matlab 2019b HandleVisibility is 'off' and is read only. Is there any workaround?
Adam Danz
Adam Danz am 29 Dez. 2021
@Jan Kudlacek, you can use Ameer Hamza's solution below.
Yang Liu
Yang Liu am 10 Nov. 2023
I don't konw why but this doesn't work for me... weird...

Melden Sie sich an, um zu kommentieren.

Bjorn Gustavsson
Bjorn Gustavsson am 14 Okt. 2020

0 Stimmen

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

Kategorien

Mehr zu Environment and Settings finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 14 Okt. 2020

Kommentiert:

am 4 Apr. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by