我正在尝试在已经建立的应用程序中添加PyQt GUI控制台。但是PyQt GUI会阻止整个应用程序,使其无法完成其余的工作。我尝试使用QThread,但是从mainWindow类调用。我想要的是在单独的线程中运行MainWindow应用程序。
def main()
app = QtGui.QApplication(sys.argv)
ex = Start_GUI()
app.exec_() #<---------- code blocks over here !
#After running the GUI, continue the rest of the application task
doThis = do_Thread("doThis")
doThis.start()
doThat = do_Thread("doThat")
doThat.start()
我的应用程序已经使用了Python Threads,所以我的问题是,以线程形式实现此过程的最佳方法是什么。
答案 0 :(得分:3)
这样做的一种方法是
import threading
def main()
app = QtGui.QApplication(sys.argv)
ex = Start_GUI()
app.exec_() #<---------- code blocks over here !
#After running the GUI, continue the rest of the application task
t = threading.Thread(target=main)
t.daemon = True
t.start()
doThis = do_Thread("doThis")
doThis.start()
doThat = do_Thread("doThat")
doThat.start()
这将使你的主要应用程序开始,并让你继续在下面的代码中继续你想要做的所有其他事情。