【发布时间】:2012-11-30 06:15:51
【问题描述】:
from PySide.QtCore import *
class Eggs(QObject):
evt_spam = Signal()
print "Loaded"
a = Eggs()
b = Eggs()
print a.evt_spam
print b.evt_spam
print a.evt_spam is b.evt_spam
输出:
Loaded
<PySide.QtCore.Signal object at 0xa2ff1a0>
<PySide.QtCore.Signal object at 0xa2ff1b0>
False
“加载”只打印一次(如预期的那样;它是一个类变量),但为什么要创建信号的 2 个实例(如果它也是一个类变量)?
【问题讨论】:
-
这个问题不是学术性的吗?唯一重要的是它的工作原理:所有实例都可以发出信号,所有订阅者(所有连接到信号的实例)都获得信号。我同意这很有趣。但这不是缺陷,也不是对大多数程序的限制。
标签: python qt pyqt pyside qt-signals