编程语言
首页 > 编程语言> > python-pygtk中的connect()和connect_object()之间的区别

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