Subprocess.check_call()不会打开一个窗口

问题描述 投票:0回答:1

我有一段代码,它使用subprocess.check_call()调用Python脚本。它运行一切都很好,但是,它并没有显示GUI窗口,当它运行独立的脚本说明。不知怎的,subprocess.check_call()不尊重任何GUI线程我猜。

下面是两行是相关的:

command = [self.python3, self.execution_dir + '/' + "script.py", "-i" + self.received_img_path]
subprocess.check_call(command, env={'PYTHONPATH': local_pythonpath })

有没有一种方法,使功能也打开GUI窗口?或者有没有为Python中的另一个功能?

python subprocess
1个回答
2
投票

subprocess.check_call()是不应该产生一个单独的GUI窗口(见docs)。产卵,你需要明确运行与像gnome-terminal GUI的程序,并使用它的参数来控制程序的GUI窗口。因此,如

import subprocess
command = [self.python3, self.execution_dir + '/' + "script.py", "-i" + self.received_img_path]
subprocess.check_call(['gnome-terminal', '-e', ' '.join(command)],
                      env={'PYTHONPATH': local_pythonpath })

将产生一个GUI终端和运行命令。

© www.soinside.com 2019 - 2024. All rights reserved.