Запустите процесс из другого процесса с помощью многопроцессорной библиотеки в Python 3 - PullRequest
0 голосов
/ 08 мая 2018

Я разрабатываю приложение с 3 основными процессами (GUI, process1, process2). GUI создает process1, а process1 создает process2 (предполагается, что process2 запускает новый графический интерфейс QT в другом окне). Хотя process1 создан и работает без проблем, process2 создан, но не работает, новый QTWidget не создается, как я хочу. Нет ошибок или исключений. Поскольку проект очень большой, и я не могу написать весь код в этом вопросе, вот схема приложения:

class GuiMain(QMainWindow):
    ...
    proc1 = Process1(...)
    proc1.start()
    ...

class Process1(mp.Process)

    def __init__(self, ...):
        mp.Process.__init__(self)

    def run(self):
        ...
        proc2 = Process2(...)
        proc2.start()
        ...

class Process2(mp.Process)

    def __init__(self, ...):
        mp.Process.__init__(self)

    def run(self):
        # Creating a new QTApplication with MyQTWidget 
        app = QtGui.QGuiApplication(sys.argv)
        ex = rcp_gui.MyQWidget()
        sys.exit(app.exec_())

class MyQWidget(QWidget):

    def __init__(self):
        QWidget.__init__()
        ...

if __name__ == '__main__':
    app = QApplication(sys.argv)
    application = GuiMain()
    sys.exit(app.exec_())

Я что-то упустил? Не возможно ли запустить новое окно QT из другого процесса, кроме основного? Как мне этого добиться? Заранее спасибо.

...