How to close an uialert programmatically

21 次查看(过去 30 天)
I'm developping some tests with the matlab.uitest framework. Everything is fine until my app generates an uialert, which is expected behavior.
The problem is, once uialert pop-up is there, I can't do any more gesture (choose, press, drag...). If I unlock the app and close the uialert manually (with matlab.uitest.unlock(fig)), then everything is fine again.
So, do you know any way to close an uialert programmatically ?

采纳的回答

Adam Danz
Adam Danz 2020-7-28
编辑:Adam Danz 2020-7-28
The uialert window cannot be programmatically closed, at least not in r2020a. You can, however, make the uialert non-modal which will allow you to interact with the base figure (app) while the uialert still exists.
uialert(uifig, 'message', 'title', 'Modal', false)
Alternatively, you could use a msgbox which outputs a handle that you can use to delete at any time but this will not be automatically centered on the app like the uialert panel does.
  2 个评论
Arthur Roué
Arthur Roué 2020-7-28
Oh yes, thank you, didnt think of Modal property !
Ali Nateghi
Ali Nateghi 2021-12-12
编辑:Ali Nateghi 2021-12-12
hi
use this code instead:
d=uiprogressdlg(app.UIFigure,'Message',message,'Title',title,...
'Icon','error','Cancelable','on','Indeterminate','on');
for i=5:-1:1
d.Message=[num2str(i) ' seconds to close ' ];
pause(1)
end
close(d)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by