Проблема в запуске многопоточного кода, который использует Qthread в режиме запуска - PullRequest
0 голосов
/ 05 апреля 2019

Я использовал 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

Более того, что касается развертывания, что я должен сделать, чтобы решить эту проблему.

...