1

使用 GUIDE 时,在回调函数中,例如

function checkbox_Callback(hObject, eventdata, handles)

将要

guidata(hObject)

guidata(handles.output)

返回相同的结构?

同样,将

guidata(hObject, handles)

guidata(handles.output, handles)

将对句柄结构所做的更改保存到同一个“位置”?

换句话说,使用hObjectvshandles.outputguidata等价的吗?

handles.output返回“主界面句柄” - 请参阅http://www.matlabtips.com/guide-me-in-the-guide/

4

2 回答 2

1

是的,因为 guidata 函数包括以下调用

fig = getParentFigure(h)

确保它在图形句柄上运行,即使您为它提供图形子元素的句柄(例如复选框句柄)。

句柄结构存储在图形的应用程序数据中(即 guidata 函数更新的数据),因此后续回调将接收您更新的句柄结构。

于 2015-12-07T09:44:35.860 回答
0

它们不是等价的。在复选框的回调中,hObject 引用了handles.checkbox

句柄是一个结构,输出只是其中的一个字段(类似地,复选框是句柄中的另一个字段)。hObject 就像一个变量,在不同的回调中引用这个句柄结构的不同字段。

于 2015-12-07T10:07:15.583 回答