比如有两个function
function Control_GUI1_OpeningFcn(hObject, eventdata, handles, varargin)
function pushbutton1_Callback(hObject, eventdata, handles)
怎么用Userdata 的形式将变量在这两个回调函数中传递? 麻烦详细一些,先谢谢了。
第1个回答 推荐于2018-05-10
你这里头一个函数是gui的初始化函数,后一个是按钮控件的,而userdata是作为某个对象的一项属性值存在的,gui中的任一对象的userdata都可以用来保存和传递数据,这里既然涉及pushbutton1,就不妨直接用它的userdata来传递。
function Control_GUI1_OpeningFcn(hObject, eventdata, handles, varargin)
get(handles.pushbutton1,'userdata');
set(handles.pushbutton1,'userdata',xxx);
function pushbutton1_Callback(hObject, eventdata, handles)
get(gco,'userdata'); %gco表示当前对象的句柄,此处等价于handles.pushbutton1
set(gco,'userdata',yyy);
另外在别处使用或更改该userdata时,可能找不到handles.pushbutton1这个句柄,可用findobj('tag','pushbutton1')代替。
希望我说明白了,呵呵。本回答被提问者和网友采纳
function Control_GUI1_OpeningFcn(hObject, eventdata, handles, varargin)
get(handles.pushbutton1,'userdata');
set(handles.pushbutton1,'userdata',xxx);
function pushbutton1_Callback(hObject, eventdata, handles)
get(gco,'userdata'); %gco表示当前对象的句柄,此处等价于handles.pushbutton1
set(gco,'userdata',yyy);
另外在别处使用或更改该userdata时,可能找不到handles.pushbutton1这个句柄,可用findobj('tag','pushbutton1')代替。
希望我说明白了,呵呵。本回答被提问者和网友采纳