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

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 14 de Oct. de 2020
Run this
all_fig = findall(0, 'type', 'figure');
close(all_fig)

6 comentarios

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

Iniciar sesión para comentar.

Más respuestas (2)

Adam Danz
Adam Danz el 14 de Oct. de 2020
Editada: Adam Danz el 14 de Oct. de 2020
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 comentarios

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

Iniciar sesión para comentar.

Bjorn Gustavsson
Bjorn Gustavsson el 14 de Oct. de 2020
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

Categorías

Más información sobre Environment and Settings en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 14 de Oct. de 2020

Comentada:

el 4 de Abr. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by