Python 从当前运行的pyqt程序启动另一个pyqt程序

Python 从当前运行的pyqt程序启动另一个pyqt程序,python,pyqt,window-management,Python,Pyqt,Window Management,我有两个pyqt程序。两者都应该可以自己运行,但我需要从另一个运行其中一个。仅手动运行的一个称为foo,第二个(我想从foo调用的一个)称为bar。我试着按照这个例子,得到了新窗口,但出现了一个错误 AttributeError:“bar”对象没有属性“exec” 我想我可以创造它,但我不知道该放什么进去。那么,如何通过单击第一个窗口中的按钮来弹出另一个窗口呢 可以使原始窗口处于非活动状态的用户可获得额外积分 下面是我的函数现在的样子: barMaker = bar(self) bar.exec

我有两个pyqt程序。两者都应该可以自己运行,但我需要从另一个运行其中一个。仅手动运行的一个称为
foo
,第二个(我想从
foo
调用的一个)称为
bar
。我试着按照这个例子,得到了新窗口,但出现了一个错误

AttributeError:“bar”对象没有属性“exec”

我想我可以创造它,但我不知道该放什么进去。那么,如何通过单击第一个窗口中的按钮来弹出另一个窗口呢

可以使原始窗口处于非活动状态的用户可获得额外积分

下面是我的函数现在的样子:

barMaker = bar(self)
bar.exec_()

缺乏想象力,我知道

是否要使用调用第二个gui程序

new_gui = subprocess.Popen("python "+path)
?


然后,您可以禁用第一个GUI或使用它执行任何操作。新的GUI在一个单独的进程中运行

@ballsatballsdotballs答案对我来说不起作用,但非常接近。参考文件(与相同)说明:

subprocess.Popen(args,…)

args
应该是程序参数序列,或者是单个字符串。默认情况下,如果
args
是序列,则要执行的程序是
args
中的第一项。如果
args
是字符串,则解释取决于平台,如下所述

我不确定这是否只是在原始答案发布后才发生了变化(>4年),但为了完整性,以下Popen结构对我有效:

new_gui = subprocess.Popen(["python", path])
如果需要,也可以用“蟒蛇3”代替