为什么有些信号被绑定而其他信号被绑定?

时间:2015-01-25 16:42:31

标签: python pyqt pyqt4

我从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 >}

为什么会有差异?

1 个答案:

答案 0 :(得分:0)

a = QtCore.pyqtSignal(object)创建一个属性

b = {'x': QtCore.pyqtSignal(object)}QtCore.pyqtSignal(object)对象存储在对象的属性中,因此它本身不是属性。