how to use push button to create new figure window in gui
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone, Please help me to create two interactive guis.
2 个评论
Paulo Silva
2011-12-3
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')
回答(1 个)
Paulo Silva
2011-12-3
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 个评论
Alireza Faraji
2014-5-15
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
2014-5-15
编辑:Henric Rydén
2014-5-15
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);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!