如何编写多线程Pyside应用程序

时间:2015-10-14 18:23:43

标签: multithreading python-2.7 pyside

多线程Pyside应用程序的最简单方法是什么,因此GUI可以运行并且线程仍然可以运行? 线程类:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

完成.pyw

class MyLongThread(QThread):
        def __init__(self, parent = None):
            QThread.__init__(self, parent)
            self.exiting = False 

        def run(self):
            while 1:
                self.msleep(100)
                print("run")

当我运行代码并按下开始按钮时,它会冻结gui但打印运行。

1 个答案:

答案 0 :(得分:1)

不要直接调用thread.run(),因为这会执行主线程中的方法。相反,调用thread.start()将启动一个线程并开始在线程中执行run()方法。