【问题标题】:PyQt5 not creating new dialogPyQt5 没有创建新对话框
【发布时间】:2019-12-31 11:46:11
【问题描述】:

我第一次使用 PyQt5,我有一个简单的登录窗口,当用户成功登录时,我希望它破坏当前对话框并创建新对话框。

if __name__ == "__main__":
    def LoggedIn():
        if ui.checkSQL() == True:
            print('working')
            login2IG = QtWidgets.QDialog()
            ui2 = Ui_Dialog()
            ui2.setupUi(login2IG)
            login2IG.show()
            # loginPage.close
        else:
            print('not working')
    import sys
    app = QtWidgets.QApplication(sys.argv)
    loginPage = QtWidgets.QDialog()
    ui = Ui_loginPage()
    ui.setupUi(loginPage)
    loginPage.show()
    ui.pushButton.clicked.connect(LoggedIn)
    # ui.pushButton.clicked.connect(loginPage.close)
    # ui.pushButton.clicked.connect(login2IG.show)
    sys.exit(app.exec_())

对象和窗口工作,但它只是没有像我需要的那样创建新窗口。

heres a video of what happens

【问题讨论】:

    标签: python python-3.x user-interface dialog pyqt5


    【解决方案1】:

    自己解决了这个问题,在澄清第二个对话框时,在

    下进行
    loginPage = QtWidgets.QDialog()
    

    所以这是新代码

    if __name__ == "__main__":
        def LoggedIn():
            if ui.checkSQL() == True:
                show_popup("Success", "Welcome, " + ui.username2DB.text())
                loginPage.close()
                login2IG.show()
            else:
                show_popup("Failed", "Please try again")
        import sys
        app = QtWidgets.QApplication(sys.argv)
        loginPage = QtWidgets.QDialog()
        login2IG = QtWidgets.QDialog()
        ui = Ui_loginPage()
        ui2 = Ui_Dialog()
        ui.setupUi(loginPage)
        ui2.setupUi(login2IG)
        loginPage.show()
        ui.pushButton.clicked.connect(LoggedIn)
    

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      相关资源
      最近更新 更多