在 MATLAB 的 GUIDE 中,guidata(hObject) 和 guidata(handles.output) 一样吗?



使用GUIDE时,在诸如之类的回调函数中

function checkbox_Callback(hObject, eventdata, handles)

guidata(hObject)

guidata(handles.output)

是否返回相同的结构?

同样,

guidata(hObject, handles)

guidata(handles.output, handles)

是否将对handles结构所做的更改保存到同一个"位置"?

换句话说,使用hObjecthandles.output作为guidata等效吗?

handles.output返回一个"主接口句柄"-请参阅http://www.matlabtips.com/guide-me-in-the-guide/.

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

fig = getParentFigure(h)

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新