天天看点

Pyqt5重启QMainWindow(主窗口)

参考官方文档:https://wiki.qt.io

其核心思想就是只要满足我规定的错误代码,就不停的循环创建新窗口。

def restart():
    EXIT_CODE_REBOOT = -11231351
    qDebug("Performing application reboot...")
    
    qApp.exit(EXIT_CODE_REBOOT)

if __name__ == '__main__':
    while True:
        try:
            app = QApplication(sys.argv)
        except RuntimeError:
            app = QApplication.instance()
        w = mWindow()
        w.show()
        exitCode = app.exec_()
        if exitCode != EXIT_CODE_REBOOT:
            break