what's the difference between handles and hObject?

4 次查看(过去 30 天)
Where do I use handles and hObject?? And why are there function which contain sometimes both of them plus eventdata and other one of those 3 is missed?? for example function pushbutton1_Callback(hObject, eventdata, handles)

采纳的回答

Sean de Wolski
Sean de Wolski 2014-10-2
hObject is the handle to the calling object; i.e. the object that is calling the function. handles is a structure with all of the handles to all objects.
The only time I use hObject is if I have two objects sharing a callback, e.g. pushbutton1 and pushbutton2 both call foo_Callback. In this scenario, I would use hObject to determine which one called or if we needed to modify the calling object.
  2 个评论
John Bitzios
John Bitzios 2014-10-3
编辑:John Bitzios 2014-10-3
If you put all of them for example function mygui(hObject,handles,eventdata) and you might use only the hObject without any handles or eventdata, is there gonna be a problem??
Sean de Wolski
Sean de Wolski 2014-10-3
No, it's just an extra variable. If you don't need them, you can deny them with a tilde
mygui(hObject,~,~)

请先登录,再进行评论。

更多回答(1 个)

Iain
Iain 2014-10-2
handles is a structure holding ALL of the handles for the GUI.
hObject, is JUST the handle for the GUI object used.
eventdata contains specific event data - like what cell got selected on a table/what key got pressed.
  1 个评论
John Bitzios
John Bitzios 2014-10-3
If you put all of them for example function mygui(hObject,handles,eventdata) and you might use only the hObject without any handles or eventdata, is there gonna be a problem??

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by