1

我正在尝试在另一个按钮回调中进行按钮回调,但我遇到了问题:

这是我正在尝试做的事情:

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(我猜是在刷新时)。

4

1 回答 1

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

单击 onRN将更改其字符串。但是点击C_N会改变C_N,而不是RN像你预期的那样。

于 2012-02-13T21:00:19.833 回答