如何使用 QProcess 同时运行多个 python 脚本

时间:2021-02-20 17:56:20

标签: python python-3.x pyqt5 qprocess

我正在尝试从 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)

1 个答案:

答案 0 :(得分: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)
相关问题