I tried to use setappdata and getappdata but I did not succeed to do it, so please if you have some way near to this because I am a beginner with MATLAB
Pass variables between Guis created using Guide
1 view (last 30 days)
Show older comments
I have created a GUI using GUIDE named MainGui,
this gui will process data and give results to other gui named outputGui created also with guide,
the data processed comes from an inputGuis that process some inputs and generate the data to be sent to MainGui , processing and sending data to MainGui happens when I push a button in an inputGui then inputGui will be closed
my question is: is there any way to pass data from one gui to another knowing that the guis are in separate figures and have separate .m files and they are not programmatic guis
thanks in advance
David Sanchez on 2 Apr 2014
I good way to do it is declaring global variables. In case you need to "transfer" a whole lot of variables, it is more practical to declare a global struct ,how? Right after the declaration of any function in any of your GUIs, define:
( for example: function your_fun(inputs) global global_struct ... ... )
where global_struct can be renamed as you please. To save a variable:
global_struct.var1 = whatever; % for example: global_struct.var1 = srt2double(get(handles.box1,'String')); )
global_struct.var2 = anything_you_want;
The variables will be accessible for any function/GUI and can be modify too.
More Answers (2)
Joseph Cheng on 2 Apr 2014
If you want to get way from the use of global variables you try guidata(). A quick search of the forums came up with this link https://www.mathworks.com/matlabcentral/newsreader/view_thread/254309. which discusses how they were able to pass data between the "main" gui and a "sub" gui.
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!