Check if GUI is open
Mostrar comentarios más antiguos
Hi everybody
I believe the answer to this question already exists several times online, but everything I tried failed.
I got in a GUI-figure the option to open an other GUI-figure. In the second GUI I got plots and the first one can update these plots. Therefore its interesting to know if the second GUI is already/still open when I activate the update.
I tried:
~isempty(findobj('Tag','figure2'))
~isempty(findobj('Tag','axesInFigure2'))
~isempty(get(groot,'figure2'))
isgraphics(h,'figure2')
but I get the same result no matter if figure2 is open or not.
Is there an other way to get this information? I think of eventlisteners: figurehasbeenopened, figurehasbeenclosed
Thanks for help.
Respuesta aceptada
Más respuestas (4)
Benjamin Avants
el 17 de Oct. de 2017
I know this question is old, but GUIDE created figures don't show up as results from findobj.
Instead, use
figure2handle = findall(0,'Tag','figure2');
if ~isempty(figure2handle)
% figure exists
end
Vahab Youssofzadeh
el 2 de Jun. de 2017
Editada: Vahab Youssofzadeh
el 2 de Jun. de 2017
Here's another solution:
h = get(0, 'Children');
isempty(findobj(h,'name','NAME OF THE GUI'));
% isempty (findobj (h,'tag','NAME OF THE GUI'));
Nepenthes
el 17 de Jul. de 2018
0 votos
This is a little late, but I chanced upon this solution when tackling a similar problem. H.isvalid or isvalid(H) should work. H can be a single handle, or a vector of handles. K>> H = figure; K>> G = plot(rand(5)); K>> delete(G(3:4)); K>> G.isvalid ans = 1 1 0 0 1 K>> H.isvalid ans = 1 K>> delete(H) K>> H.isvalid ans = 0
Kristoffer Walker
el 21 de Oct. de 2020
0 votos
None of the above seems to work for me when I am trying to detect if a GUI created from AppDesigner is open. Does anyone know how to do this with AppDesigner GUI's?
Best regards,
Kris
Categorías
Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!