为什么有些信号是绑定的而另一些是未绑定的?
why some signals are bound and other unbound?
我从 PyQt
开始,正在考虑将信号分组到一个字典中(我将有几个/很多,我想在一个循环中初始化它们,而不是逐行执行此操作).
但是我注意到 dict 值是未绑定的,而裸变量是绑定的:
In [7]: from PyQt4 import QtCore
In [10]: class Update(QtCore.QObject):
....: a = QtCore.pyqtSignal(object)
....: b = {'x': QtCore.pyqtSignal(object)}
....:
In [11]: r = Update()
In [12]: r.a
Out[12]: <bound signal a of Update object at 0x02D1B170>
In [13]: r.b
Out[13]: {'x': <unbound signal >}
为什么不同?
a = QtCore.pyqtSignal(object)
创建属性
b = {'x': QtCore.pyqtSignal(object)}
是在对象的属性中存储一个QtCore.pyqtSignal(object)
对象,所以它本身不会是属性。
我从 PyQt
开始,正在考虑将信号分组到一个字典中(我将有几个/很多,我想在一个循环中初始化它们,而不是逐行执行此操作).
但是我注意到 dict 值是未绑定的,而裸变量是绑定的:
In [7]: from PyQt4 import QtCore
In [10]: class Update(QtCore.QObject):
....: a = QtCore.pyqtSignal(object)
....: b = {'x': QtCore.pyqtSignal(object)}
....:
In [11]: r = Update()
In [12]: r.a
Out[12]: <bound signal a of Update object at 0x02D1B170>
In [13]: r.b
Out[13]: {'x': <unbound signal >}
为什么不同?
a = QtCore.pyqtSignal(object)
创建属性
b = {'x': QtCore.pyqtSignal(object)}
是在对象的属性中存储一个QtCore.pyqtSignal(object)
对象,所以它本身不会是属性。