【问题标题】:how do I run multiple python scripts simultaniously using QProcess如何使用 QProcess 同时运行多个 python 脚本
【发布时间】:2021-02-20 17:56:20
【问题描述】:

我正在尝试从 GUI 内部使用 QProcess 同时运行多个 python 脚本。以下将执行第一个脚本并为其他两个脚本抛出QProcess::start: Process is already running

def run(self):
    self.p = QtCore.QProcess()
    scripts = ['python ./scripts/s1.py', 'python ./scripts/s2.py', 'python ./scripts/s3.py']
    for s in scripts:            
        self.p.start(s)

【问题讨论】:

    标签: python python-3.x pyqt5 qprocess


    【解决方案1】:

    如果同一个 QProcess 已经在运行,则不能重复使用它,如错误报告所示。

    只需创建一个进程列表即可:

        def run(self):
            self.processes = []
            scripts = [
                'python ./scripts/s1.py', 
                'python ./scripts/s2.py', 
                'python ./scripts/s3.py'
            ]
            for script in scripts:
                process = QtCore.QProcess()
                self.processes.append(process)
                process.start(script)
    

    【讨论】:

      猜你喜欢
      • 2020-02-19
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多