如何在python代码中应用QTread(挂起GUI)

如何在python代码中应用QTread(挂起GUI),python,pyqt4,qthread,Python,Pyqt4,Qthread,我正在将QTread应用到我的Python代码中。但不幸的是,我做错了什么,因为在点击按钮后GUI会暂停几秒钟。我做错了什么 class Window(QtGui.QMainWindow): def __init__(self): super(Window, self).__init__() #... some lines of code def home(self): self.convertclass = ConvertClass()

我正在将QTread应用到我的Python代码中。但不幸的是,我做错了什么,因为在点击按钮后GUI会暂停几秒钟。我做错了什么

class Window(QtGui.QMainWindow):
    def __init__(self):
       super(Window, self).__init__()
       #... some lines of code
    def home(self):
       self.convertclass = ConvertClass()
       btn_run = QtGui.QPushButton("Convert", self)
       self.convertclass.trigger.connect(self.convert)
       btn_run.clicked.connect(self.convertclass.convert)
       #... some lines of code
class ConvertClass(QtCore.QThread):
     def __init__(self):
        super(ConvertClass, self).__init__()
     def convert(self):
        #... some lines of code

我认为您希望线程中有一个长时间运行的进程

当你点击按钮时,线程应该在什么时候启动? 如果是,则调用threads start()方法

或者您是以辅助线程的身份启动线程并将工作项发送给它 通过队列。在这种情况下,按下按钮时将工作项添加到队列中


GUI如何知道线程已在应用程序中完成其工作?

这应该是一条注释而不是答案。我不太了解堆栈溢出为什么是注释而不是答案?事实上,在我回答足够多的问题之前,stackoverflow禁止新用户发表评论。是的,不幸的是,这就是它的工作原理,你需要首先提高你的代表分数。你可以把这句话改成对原来帖子的回答。像这样的吗<代码>btn\u运行。单击。连接(self.convertclass.start)不幸的是,按钮单击后什么也没有发生