How to close an uialert programmatically

17 Ansichten (letzte 30 Tage)
Arthur Roué
Arthur Roué am 23 Jul. 2020
Bearbeitet: Ali Nateghi am 12 Dez. 2021
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 ?

Akzeptierte Antwort

Adam Danz
Adam Danz am 28 Jul. 2020
Bearbeitet: Adam Danz am 28 Jul. 2020
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 Kommentare
Arthur Roué
Arthur Roué am 28 Jul. 2020
Oh yes, thank you, didnt think of Modal property !
Ali Nateghi
Ali Nateghi am 12 Dez. 2021
Bearbeitet: Ali Nateghi am 12 Dez. 2021
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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by