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)?

답변 (1개)

Walter Roberson
Walter Roberson 2022년 3월 10일

1 개 추천

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

댓글 수: 6

Ali razi
Ali razi 2022년 3월 10일
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 2022년 3월 10일
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 2022년 3월 11일
if I add close(aFig); it automaticly close. Any idea how to solve it?
Walter Roberson
Walter Roberson 2022년 3월 11일
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.
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 2022년 3월 12일
@Simon Chan That's a good idea.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Develop Apps Programmatically에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 3월 10일

댓글:

2022년 3월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by