Okay, so it turns out that uiwait and uiresume are the answer. The GUIDE generated code comes with the commented out line: uiwait(handles.figure1). Because the figure is specified as the parameter, uiwait will resume as soon as delete(handles.figure1) happens. This made me think I could skip putting in uiresume in my buttons. However, when you execute delete(handles.figure1), the GUI is deleted before FunctionName_OutputFcn gets a chance to execute. The only way I know for the program to execute FunctionName_OutputFcn is for the GUI to "resume" via a uiresume call.
how do I trigger the _OutputFcn output assignments and figure delete when I use a button to close a GUIDE GUI
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, I have a GUIDE GUI and I am trying to make an abort button which closes the GUI nicely and passes output variables to the functions that called the GUI.
I have seen people use delete(handles.figure1) to finish the GUI, but this does not seem to trigger the assignment of output variables (eg: varargout{1} = x does not happen).
I would really like my Abort button to trigger the execution of FunctionName_OutputFcn(...). If I try calling the output function from my abort button callback using "varargout = functionName_OutputFcn(hObject, eventdata, handles);", the callback, the figure closes and then opens again.
Anyone have any ideas?
Thanks, Ben
0 Kommentare
Antworten (2)
Sean de Wolski
am 30 Mär. 2012
You could uiresume() in the figure's deletefcn or closerequestfcn.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Migrate GUIDE Apps 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!