MATLAB Answers

GUI Warning before closed

43 views (last 30 days)
Valentino
Valentino on 7 Jun 2015
Commented: Crish on 16 Jan 2021
Hello,
would like to have a warning ( " Data saved yes no") before my GUI (made with guide) is closed. I can't figure out where to put that code. Must be something in the closing function made automatically by the GUI guide??
Thank you

Accepted Answer

Valentino
Valentino on 6 Aug 2015
Edited: Valentino on 6 Aug 2015
My solution: write this in the second function written by guide (my_gui_OpeningFcn):
set(handles.figure1,'CloseRequestFcn',@closeGUI;
Then write an extra function like this:
function closeGUI(hObject, eventdata, handles)
selection = questdlg(Close MyGUI?', ...
'Warning', ...
'Yes','No','Yes');
switch selection
case 'Yes'
delete(gcf)
case 'No'
return
end

More Answers (2)

Image Analyst
Image Analyst on 7 Jun 2015
I don't think the closing function or output function will always be executed, especially if they click on the X in the title bar. To make sure your code get executed even if they try to close the window by clicking on the x in the title bar, you need to put your code into the figMainWindow_CloseRequestFcn() function.
  1 Comment
Valentino
Valentino on 15 Jun 2015
Thank you for your answer.I'm unterstanding tis correct, i have to write a new function figmy_own_GUI_CloseRequestFcn()? How do i call the function?
if true
function figmy_own_GUI_CloseRequestFcn(hObject, eventdata, handles)
warndlg('Pressing OK will clear memory','!! Warning !!')
end

Sign in to comment.


Maha
Maha on 28 Jan 2020
Having the same issue. I unfortunately close figures and my GUI at the same time quite often without paying attention.
Any chance to get a warning when we try to close Matlab ? Like some other programs do with "Are you sure you want to close XXX ?"
  2 Comments
Crish
Crish on 16 Jan 2021
Is this also applicable in the apo designer?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!