Pass variables between Guis created using Guide

2 Ansichten (letzte 30 Tage)
Zine
Zine am 2 Apr. 2014
Beantwortet: Zine am 4 Apr. 2014
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
  2 Kommentare
Zine
Zine am 2 Apr. 2014
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
Dishant Arora
Dishant Arora am 2 Apr. 2014
Attach your m files.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Sanchez
David Sanchez am 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 Kommentar
Zine
Zine am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Joseph Cheng
Joseph Cheng am 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.

Zine
Zine am 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)

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by