Close uialert - App designer

In App designer I have a function called
DayButtonPushed(app, event)
With the following code:
aFig = uifigure;
message = sprintf('March \n\nYear 2022');
uialert(aFig,message,'Info','Icon','info');
When I press the OK it does not close the background window. Therefore, how can I close all upon pressing ok (image attached)?

Respuestas (1)

Walter Roberson
Walter Roberson el 10 de Mzo. de 2022

1 voto

Why create a uifigure() there? uialert() will create its own uifigure()

6 comentarios

Ali razi
Ali razi el 10 de Mzo. de 2022
This is what I see in the examples at https://www.mathworks.com/help/matlab/ref/uialert.html
Is their another way to solve it?
Walter Roberson
Walter Roberson el 10 de Mzo. de 2022
Ah, I see.
It is a modal alert, so it will not return until the user has clicked. So after the uialert() call you can destroy the figure.
Ali razi
Ali razi el 11 de Mzo. de 2022
if I add close(aFig); it automaticly close. Any idea how to solve it?
Walter Roberson
Walter Roberson el 11 de Mzo. de 2022
I see what you mean.
I had a look in the source code, but the graphics works a completely different way for uifigure() and in the time I was willing to spend, I did not find a method.
Simon Chan
Simon Chan el 12 de Mzo. de 2022
Add a CloseFcn may be a workaround if you don't want to use the uifigure anymore.
aFig = uifigure;
message = sprintf('March \n\nYear 2022');
uialert(aFig,message,'Info','Icon','info','CloseFcn',{@closefig,aFig});
function closefig(src,event,aFig)
delete(aFig)
end
Walter Roberson
Walter Roberson el 12 de Mzo. de 2022
@Simon Chan That's a good idea.

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Programmatically en Centro de ayuda y File Exchange.

Productos

Versión

R2021b

Preguntada:

el 10 de Mzo. de 2022

Comentada:

el 12 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by