python-pygtk中的connect()和connect_object()之间的区别
作者:互联网
我正在使用pygtk.我没有得到pygtk中的connect()和connect_object()之间有什么区别.有人可以澄清一下吗?
谢谢.
解决方法:
如here所述,connect_object用于替换默认情况下传递给回调方法的对象(这是发出信号的对象).
例如,
>>> label = gtk.Label()
>>> button = gtk.Button()
>>> def callback(obj):
... print obj
>>> button.connect('clicked', callback) # button will be passed by default
>>> button.emit('clicked')
<gtk.Button object at 0x27cd870 (GtkButton at 0x22c6190)>
>>> button.disconnect_by_func(callback)
>>> button.connect_object('clicked', callback, label) # label will be passed instead of button
>>> button.emit('clicked')
<gtk.Label object at 0x27cd9b0 (GtkLabel at 0x22b64f0)>
注意:通常在回调方法中,您会对发出信号的对象(默认情况下传递的信号)感兴趣,因此connect_object并不经常使用.
编辑:除此之外,您还会找到here以下说明:
connect_object()
allows the PyGTK widget methods that only take a single argument (self) to be used as signal handlers.
标签:gtk,pygtk,python 来源: https://codeday.me/bug/20191101/1986446.html