MATLAB GUI 数据用Userdata的传递使用

比如有两个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')代替。
希望我说明白了,呵呵。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网