我有以下代码:
def callback(param):
print "in callback"
class Test(QThread):
def __init__(self):
QThread.__init__(self)
#QObject.connect(self, SIGNAL("test_signal(PyQt_PyObject)"), callback)
print "Test constructed"
def fallback(self, dummy=None):
print "in fallback"
def run(self):
while 1:
print "Test running"
self.emit(SIGNAL("test_signal(PyQt_PyObject)"), {'a': 'b'})
time.sleep(1)
t = None
if __name__ == "__main__":
t = Test()
t.start()
QObject.connect(t, SIGNAL("test_signal(PyQt_PyObject)"), callback)
while True:
time.sleep(2)
但是,回调(参数)永远不会被调用,因为我没有看到控制台上打印的“回调中”。有人能帮忙吗?我尝试了代码的不同变体(例如,从 test_signal 中删除参数,连接到 self.fallback(),不包括 self.emit 中的任何参数(即删除 {'a': 'b'}))。我一定错过了一个非常简单但基本的机制,但我就是想不通。
提前致谢!