Pass variables between Guis created using Guide

2 visualizaciones (últimos 30 días)
Zine
Zine el 2 de Abr. de 2014
Respondida: Zine el 4 de Abr. de 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 comentarios
Zine
Zine el 2 de Abr. de 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 el 2 de Abr. de 2014
Attach your m files.

Iniciar sesión para comentar.

Respuesta aceptada

David Sanchez
David Sanchez el 2 de Abr. de 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 comentario
Zine
Zine el 2 de Abr. de 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

Iniciar sesión para comentar.

Más respuestas (2)

Joseph Cheng
Joseph Cheng el 2 de Abr. de 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 el 4 de Abr. de 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)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by