使用以下代码,我'PySide.QtCore.Signal' object has no attribute 'emit'在尝试发出信号时得到一个错误():
#!/usr/bin/env python
from PySide import QtCore
class TestSignalClass(QtCore.QObject):
somesignal = QtCore.Signal()
def speak_me(self):
self.speak.emit()
def __init__(self):
try:
self.somesignal.emit()
except Exception as e:
print("__init__:")
print(e)
t = TestSignalClass()
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?
这里的问题是虽然类正确继承QtCore.QObject,但它不会调用父的构造函数.这个版本工作正常:
#!/usr/bin/env python
from PySide import QtCore
class TestSignalClass(QtCore.QObject):
somesignal = QtCore.Signal()
def speak_me(self):
self.speak.emit()
def __init__(self):
# Don't forget super(...)!
super(TestSignalClass, self).__init__()
try:
self.somesignal.emit()
except Exception as e:
print("__init__:")
print(e)
t = TestSignalClass()
Run Code Online (Sandbox Code Playgroud)