Setting a Matlab GUI apps main figure to invisble
22 views (last 30 days)
Show older comments
I was interested in trying to break up my GUI app in to a set of smaller GUIs, all made in app creator, but using only a single app window and allowing the user to switch between them. I made a parent app with a button that when pressed started a second app containing a panel. The second app has a startup function that sets the parent of the panel to the figure window of the first app, which behaves as expected, but the second app window is still present. So then I added another line in the start up function to set its own uifigure to invisible:
% Code that executes after component creation
function startupFcn(app, parent)
app.Panel.Parent = parent;
app.UIFigure.Visible = false;
end
The argument 'parent' is the UIFigure from the first app.
This seems to work as expected, but what happens to the instance of app 2? The figure window is invisible, but it seems the app is still running. If so can it be closed without making it visible to user? What happens to its instance if I close the first app? Can I delete the instance from either app?
5 Comments
Adam Danz
on 21 Jul 2020
The parent app should get the other app handles when the secondary apps are created. For example,
app.SecondaryAppHandle = secondaryApp;
Answers (2)
Mehmed Saad
on 21 Jul 2020
Edited: Mehmed Saad
on 21 Jul 2020
Run Test2.mlapp.
Press To Plot, it will take you automatically to Test1
Test1 and Test2 must be in the same directory
How it works
See Also
Categories
Find more on Develop uifigure-Based Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!