Как открыть приложение PyQt из отдельного процесса Python - PullRequest
0 голосов
/ 06 июня 2018

Мне было интересно, можно ли открыть приложение PyQT (с помощью QmainWindow) из отдельного процесса python, выполнив что-то вроде команды подпроцесса.Мое приложение 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 голосов
/ 06 июня 2018

Ваш скрипт PyQt может иметь права на выполнение, но для его запуска требуется интерпретатор python, и я не уверен, subprocess всегда сможет найти правильный или предоставить ему подходящую среду,Я бы сделал ваш интерпретатор Python первым в списке аргументов вашего подпроцесса, прежде чем идти дальше.

...