python pyqt多个类

时间:2016-06-07 11:37:53

标签: python class login pyqt

我正在编写一个程序,我已经执行了以下操作。

  1. 使用对话框获取用户凭据
  2. 如果成功启动另一个应用程序,如果Unuccessful再次提示输入凭据。 我使用两个名为x_LoginForm和x_Application的类来实现它 代码如下 class x_LoginForm(QDialog) 类中的元素
  3. QLineEdit获取用户名
  4. QLineEdit获取密码
  5. 要取消的QPush按钮
  6. QPushbutton to Login
  7. 如果登录成功,我会将标志main_window_flag设置为1 class x_Application()

    此类将启动一个新应用程序并为用户提供控制。 如果标志main_window_flag设置为1

    ,则将实例化此类的对象
    main_window_flag=0
    if __name__ == "__main__": 
        app = QtGui.QApplication(sys.argv)
        form = x_LoginForm()
        form.show()
        if main_window_flag == 1:
            window = x_Application()
            window.show() 
    sys.exit(app.exec_())
    
    在类x_LoginForm中 当我验证时,我想将控制权传递回main,并实例化x_Application类的对象。 退出类x_LoginForm,如果我发出self.close - 整个程序将被关闭。

1 个答案:

答案 0 :(得分:0)

正在发生的事情是form.show()会立即返回,然后您的计划会执行if检查,这可能会对False进行评估,因为如果您更改了main_window_flag=0 form.show() 1}}到form.exec_()它将等到表单关闭然后继续执行代码。请阅读此处了解modal dialogs的更多信息。