MATLAB GUI 数据用Userdata的传递使用

比如有两个functionfunctionControl_GUI1_OpeningFcn(hObject,eventdata,handles,varargin)funct... 比如有两个function
function Control_GUI1_OpeningFcn(hObject, eventdata, handles, varargin)

function pushbutton1_Callback(hObject, eventdata, handles)

怎么用Userdata 的形式将变量在这两个回调函数中传递? 麻烦详细一些,先谢谢了。
展开
 我来答
cholla_matlab
推荐于2018-05-10 · TA获得超过391个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:183万
展开全部
你这里头一个函数是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')代替。
希望我说明白了,呵呵。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式