how to use push button to create new figure window in gui
2 views (last 30 days)
Show older comments
Hi everyone, Please help me to create two interactive guis.
2 Comments
Paulo Silva
on 3 Dec 2011
Create the other GUI the same way and go to the first GUI button callback and put in the code the name of the second GUI or uiwait('NameOfSecondGUI')
Answers (1)
Paulo Silva
on 3 Dec 2011
First and most important question, are you using GUIDE or doing all in one m-file (programatically)?
The idea is to put some code on the pushbutton callback, usually you call the other GUI just with its name, if you want the first GUI to wait until the second one is closed use something like the uiwait function
4 Comments
Alireza Faraji
on 15 May 2014
In this way you will just have a new GUI. But how can we make GUIs talk to eachother. I mean if you want to pass some information from first GUI to second GUI how do we do it?
I though probably we could save the information that we want to give to second GUI in a mat file and load it in the second GUI.
But is there a way that GUIs could talk to eachother directly?
Henric Rydén
on 15 May 2014
Edited: Henric Rydén
on 15 May 2014
Yes there is, using getappdata and setappdata: In the main GUI, put this in the opening function:
setappdata(0,'mainHandles',handles);
in the other gui, do this whenever you need to access the handles from the main gui:
mainHandles = getappdata(0,'mainHandles');
Since you are now storing data in the matlab root, remember to remove the data after you quit the application using rmappdata. To avoid this, you can put all your data in the figure of the main GUI and then all of you data is removed when the figure is closed. In the openingfunction of the main gui:
setappdata(0,'hMainGUI',gcf);
setappdata(gcf,'mainHandles',handles);
See Also
Categories
Find more on Migrate GUIDE 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!