在MATLAB的GUIDE中,guidata(hObject)与guidata(handles.output)相同吗?

时间:2015-12-07 02:50:35

标签: matlab matlab-guide handles matlab-gui

使用GUIDE时,在回调功能中,例如

function checkbox_Callback(hObject, eventdata, handles)

guidata(hObject)

guidata(handles.output)

返回相同的结构?

同样,

guidata(hObject, handles)

guidata(handles.output, handles)

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

换句话说,hObjecthandles.output使用的是guidata等价物吗?

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

2 个答案:

答案 0 :(得分:1)

是的,因为guidata功能包括以下调用

fig = getParentFigure(h)

确保它在数字句柄上运行,即使你为它提供了一个数字子元素的句柄(例如一个复选框句柄)。

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

答案 1 :(得分:0)

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

handle是一个结构,输出只是其中的一个字段(类似地,checkbox是句柄中的另一个字段)。 hObject就像一个变量,它引用不同回调中此句柄结构的不同字段。