这个问题已经在这里有一个答案:
- 在PyQt的开始新的QThread()时传递一个参数 2个回答
我有一个创建一个QThread的,必须从我的类(MyClass的)调用的代码工作的例子。 我试图通过工人的init传递额外的参数,但我不能得到它的工作。
我怎样才能通过1个或多个参数,以我的工作线程这个工作代码?
from PyQt4 import QtCore
from PyQt4 import QtGui
from PyQt4.QtCore import *
class Worker(QThread):
processdone = QtCore.pyqtSignal("QString") # Define custom signal.
def __init__(self, parent=None):
QThread.__init__(self, parent)
def run(self):
print("do worker thread processing here")
self.emit( SIGNAL('processdone'), "DONE")
return
class MyClass(QObject):
def __init__(self):
super(MyClass, self).__init__()
thread1 = Worker(self)
self.connect( thread1, SIGNAL("processdone"), self.thread1done)
thread1.start()
def thread1done(self, text):
print(text) # Print the text from the signal.
sys.exit()
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
a = MyClass()
sys.exit(app.exec_())
:我发现这个计算器的问题,这是非常相似的,但我不能得到公认的答案与我上面的代码工作开始在PyQt的新的QThread()时传递参数