我正在使用这样的东西:
import threading
from PySide import QtCore
class Smt(threading.Thread):
foo_signal = QtCore.Signal(object)
def __init__(self):
threading.Thread.__init__(self)
def run(self);
while True:
pass # and so..
然后我开始了:
a = Smt()
a.foo_signal.connect(function)
a.start()
输出结果为:
AttributeError: 'PySide.QtCore.Signal' object has no attribute 'connect'
如果我使用QtCore.QThread
代替threading.Thread
- 它效果很好。但我不想使用QThread
。
甚至可能吗?
答案 0 :(得分:3)
信号要求使用它们的类继承自QObject(或任何继承QObject的类)。因此,您可以切换到使用QThread,也可以继承QObject并在QtCore.QObject.__init__(self)
__init__