在运行模式下运行使用Qthread的多线程代码时出现问题

时间:2019-04-05 14:18:05

标签: python multithreading pycharm pyqt5 qthread

我使用Pycharm IDE开发了多线程python程序。一切都在调试模式下完美运行。 IDE生成此命令行以在调试模式下运行程序:

E:\TSCExcelToolSet\venv\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm 2018.1.3\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 51440 --file E:/TSCExcelToolSet/MainUserInterface.py

def initializeData(self):
    # di.CSVImporter(self.configParser.get('SectionOne', 'Path'), sqlbase.engine)
    self.progressBar.setValue(0)
    self.progressBar.setVisible(True)
    initializer = DataCollector()
    self.threadInit = QThread()
    self.threadInit.setObjectName('initThread')
    initializer.moveToThread(self.threadInit)
    # get progress messages from worker:
    initializer.sig_step.connect(self.on_worker_step)
    initializer.sig_done.connect(self.on_worker_done)
    self.sig_abort_workers.connect(initializer.abort)
    self.threadInit.started.connect(initializer.initializeData)
    self.threadInit.start()  # this will emit 'started' and start thread's event loop

但是,当它在运行模式下运行时,它使用下面的命令行,并且代码的线程部分不起作用。

E:\TSCExcelToolSet\venv\Scripts\python.exe E:/TSCExcelToolSet/MainUserInterface.py

此外,在部署方面,我应该怎么做才能克服这个问题。

0 个答案:

没有答案