我从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 >}
为什么会有差异?
答案 0 :(得分:0)
a = QtCore.pyqtSignal(object)
创建一个属性
b = {'x': QtCore.pyqtSignal(object)}
将QtCore.pyqtSignal(object)
对象存储在对象的属性中,因此它本身不是属性。