Hello,
Well I have two button on GUI and I want to call/use the variables that I defined in the first button in the second one or vice versa, for example I defined in the first button that x=[3], y=[2] and run it, in the second button I wrote that z=x+y, but when I try to run it it says that x and y are undefined variables.
Any idea would be a great job for me.

 Réponse acceptée

Adam
Adam le 10 Déc 2014

0 votes

You need to attach your variables to the 'handles' structure in each callback. So, in one callback:
handles.x = 3;
handles.y = 2;
guidata( hObject, handles );
Don't forget that last line - it is what commits the handles structure back to the GUI, otherwise changes to it are local to the callback and will be lost.
Then in any other callback you can just do:
z = handles.x + handles.y;
Obviously if you also want z elsewhere put that on handles too with the guidata line also.

4 commentaires

Giorgi
Giorgi le 10 Déc 2014
Thank you very much ;)
Sairah
Sairah le 24 Juil 2017
May I see your code please actually I have the same task and I am new to MATLAB GUI I couldnt fine the way to link two button in one GUI
Adam
Adam le 24 Juil 2017
Which part of the answer isn't clear.
Connecting data up in a Matlab GUI is covered in detail here
Sairah
Sairah le 26 Juil 2017
Actually Adam I want to link my data which is read from text file operates by two buttons one is by push button and second from checkbox so I wonder how to share that data between the two buttons and I am using GUIDE so not creating programatic GUI

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange

Question posée :

le 10 Déc 2014

Commenté :

le 26 Juil 2017

Community Treasure Hunt

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

Start Hunting!

Translated by