如何使用 QProcess 同时运行多个 python 脚本
Posted
技术标签:
【中文标题】如何使用 QProcess 同时运行多个 python 脚本【英文标题】:how do I run multiple python scripts simultaniously using QProcess 【发布时间】: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)
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于如何使用 QProcess 同时运行多个 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PySide 中获取 QProcess 运行的命令的输出?