Pass variables between Guis created using Guide

1 view (last 30 days)
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

Sign in to comment.

Accepted Answer

David Sanchez
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:
global global_struct
( 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.
  1 Comment
Zine on 2 Apr 2014
thanks David, I have one question about the use of global variables, if the input GUI set globalstruct.var1=value1; and close it self by the command close, do the MainGui still can see the variable globalstruct.var1, or I should not close the input Gui but just hide it and how to hide it.
thanks in advance

Sign in to comment.

More Answers (2)

Joseph Cheng
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 which discusses how they were able to pass data between the "main" gui and a "sub" gui.

Zine on 4 Apr 2014
Thanks to whom answered and tried to answer me; I found a solution for that by using this answer just adjust it according to the problem, (it is detailed procedure that was working for me)


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!