如何从单独的python进程打开PyQt应用程序

时间:2018-06-06 09:26:40

标签: python pyqt subprocess

我想知道是否可以通过运行类似subprocess命令的东西从单独的python进程打开PyQT应用程序(带有QmainWindow)。我的PyQt应用程序可以从命令行执行

PyQT_App.py arg1

运行应用程序的代码很长,但基本结构是

def call_app(arg1):

    class AppWindow(QtGui.QMainWindow):

        def __init__(self,arg1):
        do stuff...

    ...


    app = QtGui.QApplication([])
    win = AppWindow(arg1)
    print sys.exit(app.exec_())

    return app

if __name__=="__main__":
    call_app(arg1)

我希望能够

import subprocess
subprocess.Popen(["PyQT_App.py", "arg1"])

如果我执行此操作并检查系统监视器,则表明该应用程序已启动,但主窗口未显示。是否有一个明显的原因,这不起作用,我错过了?有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您的PyQt脚本可能具有可执行权限,但它需要运行python解释器,我不相信subprocess始终能够提供正确的权限,或者提供它合适的环境。在进一步研究之前,我会让你的Python解释器成为你的子进程参数列表中的第一件事。