使用Python 3中的Multiprocessing库从另一个进程启动进程

时间:2018-05-08 15:21:16

标签: python python-3.x pyqt multiprocessing pyqt5

我正在开发一个包含3个主要进程(GUI,process1,process2)的应用程序。 GUI创建process1,process1创建process2(process2应该在另一个窗口中启动一个新的QT gui)。虽然创建了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窗口而不是主进程?我怎样才能做到这一点?提前谢谢。

0 个答案:

没有答案