GUI: How do save data from one callback to another ?

1 view (last 30 days)
Hi i want to save my data from one callback and use that in other callback.
eg. i have 2 button, one to run the first callback and the other to run the second callback.
eg.
function a_Callback(hObject, eventdata, handles)
a = 2+2;
function c_Callback(hObject, eventdata, handles)
c = 2+a;
how do i save or use the " a=2+2 " from the first one to be saved to the next callback, so if i click on "button 2" it will give me eg. 6.

Accepted Answer

Guillaume
Guillaume on 23 Oct 2019
The handles structure that your callback receives is meant exactly for this:
%It's a good idea to create the variable used in the callback when the gui is first created. e.g. in the OpeningFcn callback
function mygui_OpeningFcn(hObject, eventdata, handles)
handles.a = NaN;
%...
end
function a_Callback(hObject, eventdata, handles)
handles.a = 2+2;
guidata(hObject, handles) %save new state of handles
end
function c_Callback(hObject, eventdata, handles)
c = 2 + handles.a;
%...
end
  3 Comments
Guillaume
Guillaume on 23 Oct 2019
You can initialise it to whatever you want, but it's a good idea to initialise to something when the GUI is created. One option is to do that in the OpeningFcn.
If you don't initialise it and the user click on the 'c' button without having clicked once on the 'a' button, then you'll get an error in the 'c' callback since the variable wouldn't exist.

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Objects in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!