在 MATLAB 的 GUIDE 中,guidata(hObject) 是否与 guidata(handles.output) 相同?
In MATLAB's GUIDE, is guidata(hObject) the same as guidata(handles.output)?
使用 GUIDE 时,在回调函数中,例如
function checkbox_Callback(hObject, eventdata, handles)
将
guidata(hObject)
和
guidata(handles.output)
return相同的结构?
同样,将
guidata(hObject, handles)
和
guidata(handles.output, handles)
将对句柄结构所做的更改保存到相同的 "place"?
换句话说,使用 hObject
与 handles.output
是否等同于 guidata
?
handles.output
returns a "handle to the main interface" - 参见 http://www.matlabtips.com/guide-me-in-the-guide/。
是的,因为 guidata 函数包括以下调用
fig = getParentFigure(h)
确保它在图形句柄上运行,即使您为其提供图形子元素的句柄(例如复选框句柄)。
句柄结构存储在图窗的应用程序数据中(即 guidata 函数更新的数据),因此后续回调将接收您更新的句柄结构。
它们不等价。在复选框的回调中,hObject 指的是 handles.checkbox
handles 是一个结构,output 只是其中的一个字段(类似地,checkbox 是 handles 中的另一个字段)。 hObject就像一个变量,在不同的回调中引用这个句柄结构的不同字段。
使用 GUIDE 时,在回调函数中,例如
function checkbox_Callback(hObject, eventdata, handles)
将
guidata(hObject)
和
guidata(handles.output)
return相同的结构?
同样,将
guidata(hObject, handles)
和
guidata(handles.output, handles)
将对句柄结构所做的更改保存到相同的 "place"?
换句话说,使用 hObject
与 handles.output
是否等同于 guidata
?
handles.output
returns a "handle to the main interface" - 参见 http://www.matlabtips.com/guide-me-in-the-guide/。
是的,因为 guidata 函数包括以下调用
fig = getParentFigure(h)
确保它在图形句柄上运行,即使您为其提供图形子元素的句柄(例如复选框句柄)。
句柄结构存储在图窗的应用程序数据中(即 guidata 函数更新的数据),因此后续回调将接收您更新的句柄结构。
它们不等价。在复选框的回调中,hObject 指的是 handles.checkbox
handles 是一个结构,output 只是其中的一个字段(类似地,checkbox 是 handles 中的另一个字段)。 hObject就像一个变量,在不同的回调中引用这个句柄结构的不同字段。