在另一个按钮回调中调用按钮回调

时间:2012-02-13 20:38:19

标签: matlab matlab-guide

我试图在另一个按钮回调中按下回调,但我遇到了问题:

以下是我要做的事情:

C_N_Callback(hObject,eventdata, handles)

   RN_Callback(handles, [], []);

我尝试了这个但却给出了这个错误:

  

尝试引用非结构数组的字段。

RN_Callback内进行getappdata

我也试过这个:

C_N_Callback(hObject,eventdata, handles)

   RN_Callback(hObject,eventdata, handles);

这没有给出错误,但是当我运行GUI时它继续执行RN_Callback中的过程(我想刷新)。

1 个答案:

答案 0 :(得分:1)

或许RN_Callback正在使用对hObject的引用。只是提醒您,hObject是调用回调的对象。因此,在您的情况下,它将C_N,将传递给RN_Callback而不是RN

在这种情况下,代码将是错误的,因为它需要一种类型的GUI对象,但需要另一种类型。例如:

function RN_Callback(hObject,eventdata, handles)
     set(hObject,'String','This is me!');
end    

function C_N_Callback(hObject,eventdata, handles)
     RN_Callback(hObject,eventdata, handles);
end

点击RN将更改其字符串。但点击C_N会改变C_N,而不是您预期的RN