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

1 次查看(过去 30 天)
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.

采纳的回答

Guillaume
Guillaume 2019-10-23
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 个评论
Guillaume
Guillaume 2019-10-23
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Objects 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by