Call method from another GUI
13 次查看(过去 30 天)
显示 更早的评论
I have two GUIs, GUI1 and GUI2. Before I close GUI2 completely, I want to call a function from GUI1.
% In GUI2
gui1 = findobj('Tag', 'GUI1');
gui1.callThisBeforeClosingFcn();
close(handles.GUI2);
I get an error when trying to call the GUI1 function - "No appropriate method, propery, or field 'callThisBeforeClosingFcn' for class matlab.ui.Figure."
What is the correct way to call that function?
0 个评论
回答(1 个)
Jan
2016-11-18
编辑:Jan
2016-11-18
I cannot guess, what "gui1.callThisBeforeClosingFcn()" should be. Perhaops you want to call a function before closing the figure autoamtically? But what might "from another GUI" mean then...
figure('CloseRequestFcn', @callThisBeforeClosingFcn, ...
'DeleteFcn', @callThisBeforeClosingFcn);
and your function:
function callThisBeforeClosingFcn(FigH, EventData)
handles = guidata(FigH);
... do whatever you want
figure('CloseRequestFcn', [], ...
'DeleteFcn', []);
delete(figure);
Now simply close or delete the figure, or close it using the "x" in the window border and the specified function is called automatically.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!