我是关于在Python上使用线程的新手,拜托,我需要帮助。
我正在使用PyQt,当我使用循环时,主窗口将被冻结,直到循环结束。
我读到了关于python的线程,它似乎是一个解决方案,但我不知道是否使用我在我的代码上编写的线程很好。
这是我的代码示例。
from Window import *
import sys, threading
class Window(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Window()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.button_download, QtCore.SIGNAL('clicked()'), start)
print("I'm the main thread")
def start():
t1 = threading.Thread(target=process)
t1.start()
t1.join()
def process():
for i in range(0, 1000):
print("I'm the thread:", i)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = Window()
myapp.show()
sys.exit(app.exec_())
非常感谢!!
答案 0 :(得分:2)
您正在加入该主题。如果您希望它在后台运行,请删除行
t1.join()