pyqt5利用pyqtDesigner实现登录界面

  

本文实例为大家分享了pyqt5利用pyqtDesigner实现登录界面的具体代码,供大家参考,具体内容如下

  

为便于操作界面和逻辑分离

  

逻辑类:

        导入系统   进口pymysql   从loginUI */导入/导入   从PyQt5。QtWidgets进口*   从PyQt5进口QtWidgets QtCore QtGui   从PyQt5。QtCore进口*   从PyQt5。QtGui进口   类登录(QtWidgets.QDialog):   def __init__(自我):   超级(登录,自我). __init__ ()   自我。ui=Ui_login_Ui ()   self.ui.setupUi(自我)      # self.setMinimumSize (QtCore。QSize(400、200) #控制缩放范围   # self.setMaximumSize (QtCore。QSize (400、200))   self.setWindowTitle(“欢迎使用停车场管理系统”)   self.height self.setFixedSize (self.width () ()   self.ui.labelTip.hide ()   self.ui.labelTip.setText(“密码或用户名不能为空! ")   #设置标签字体   labelFont=QFont ()   labelFont.setPixelSize (15)   #设置动态背景   自我。gif=QMovie (“bg2.gif”)   self.ui.label_2.setMovie (self.gif)   self.gif.start ()   #这在标签属性   self.ui.labelTip.setStyleSheet (   “QLabel{颜色:红色;字体大小:12 px;粗细:大胆,字体类型:罗马时代;}”   )   self.ui.userLabel.setStyleSheet (“QLabel{背景:白;}”   “QLabel{颜色:rgb(100100100250),字体大小:15 px;粗细:大胆,字体类型:罗马时代;}”   “QLabel:悬停{颜色:rgb (300300300120);}”)   self.ui.pwdlabel.setStyleSheet (“QLabel{背景:白;}”   “QLabel{颜色:rgb(100100100250),字体大小:15 px;粗细:大胆,字体类型:罗马时代;}”   “QLabel:悬停{颜色:rgb (300300300120);}”)   self.ui.label.setStyleSheet (“QLabel{背景:白;}”   “QLabel{颜色:rgb(100100100250),字体大小:15 px;粗细:大胆,字体类型:罗马时代;}”   “QLabel:悬停{颜色:rgb (300300300120);}”)      self.ui.loginButton.setStyleSheet (“QPushButton{颜色:黑色}”   “QPushButton:悬停{颜色:红}”   “QPushButton {background: lightblue}”   “QPushButton{边界:2 px}”   “QPushButton {border - radius: 10 px}”   “QPushButton{填充:2 px 4 px}”)   self.ui.registerButton.setStyleSheet (“QPushButton{颜色:黑色}”   “QPushButton:悬停{颜色:红}”   “QPushButton {background: lightgreen}”   “QPushButton{边界:2 px}”   “QPushButton {border - radius: 10 px}”   “QPushButton{填充:2 px 4 px}”)      面板=QPalette ()   图标=QPixmap (“bg2.gif”)。规模(800、600)   palette.setBrush (self.backgroundRole (), QBrush(图标)   self.setPalette(面板)   self.ui.userLabel.setFont (labelFont)   self.ui.pwdlabel.setFont (labelFont)   self.ui.label.setFont (labelFont)   #设置控件尺寸   # self.ui.userlineEdit.setFrame(假)   # self.ui.pwdlineEdit.setFrame(假)   self.ui.pwdlineEdit.setEchoMode (QLineEdit.Password) #输入框设为密码模式   self.ui.pwdlineEdit.setClearButtonEnabled(真正的)   self.ui.userlineEdit.setClearButtonEnabled(真正的)   self.ui.userlineEdit.setFixedWidth (190)   self.ui.userlineEdit.setFixedHeight (30)   self.ui.pwdlineEdit.setFixedWidth (190)   self.ui.pwdlineEdit.setFixedHeight (30)   self.ui.comboBox.setFixedWidth (100)   self.ui.comboBox.setFixedHeight (28)   self.ui.loginButton。setFixedSize(75年28)   self.ui.registerButton。setFixedSize(75年28)   self.ui.loginButton.setShortcut(输入)#快捷键   #登陆的槽函数登陆按钮最好写在init的析构函数中,避免链接多次产生异常   self.ui.loginButton.clicked.connect (self.slotLogin)   self.ui.registerButton.clicked.connect (self.slotRegister)   self.ui.pushButton.clicked.connect (self.findPwd)      name=self.ui.userlineEdit.text ()   pwd=self.ui.pwdlineEdit.text ()   身份=self.ui.comboBox.currentIndex ()   标识=str(身份)   从管理sql=" select *用户名==?名字+”和密码“+ pwd +”的身份=? +”身份”   db=PyMySQLHelper ()   db.selectALL (sql)      def keyPressEvent(自我、事件):   如果event.key ()==QtCore.Qt.Key_Enter:   self.slotLogin ()   def findPwd(自我):   # self.accept ()   自我。u=FPwd_ui ()   self.u.show ()   # self.ui.exec ()   def slotLogin(自我):   # #获得登录输入   name=self.ui.userlineEdit.text ()   pwd=self.ui.pwdlineEdit.text ()   打印(名称)   db=PyMySQLHelper ()   身份=self.ui.comboBox.currentIndex() #获取下标   标识=str(身份)      如果名字!=" pwd !=":   如果身份==?”:      从管理sql=" select *用户名=?名字+”和“\   “密码=" + pwd +”和身份=? +”身份”   打印(sql)   # cursor.execute (sql)   #=cursor.fetchall结果()   结果=db.selectALL (sql)      如果结果:   自我。ui1=金融()   # self.ui1.exec ()   self.ui1.show ()   self.close ()   其他:   好吧=QMessageBox。警告(自我,(“警告”),(“”账号或密码错误! " " "))   # cursor.close ()   # conn.close ()   elif身份==' 1 ':      从管理sql=" select *用户名=?名字+”和“\   “密码=" + pwd +”和身份=? +”身份”   打印(sql)   # cursor.execute (sql)   #=cursor.fetchall结果()   结果=db.selectALL (sql)   如果结果:   自我。ui2=InfoManage ()   self.ui2.show ()   self.close ()   其他:   好吧=QMessageBox。警告(自我,(“警告”),(“”账号或密码错误! " " "))      elif身份==?”:   从管理sql=" select *用户名=?名字+”和“\   “密码=" + pwd +”和身份=? +”身份”   打印(sql)      结果=db.selectALL (sql)   #打印(身份)      如果结果:   自我。uu=SeatManage ()   self.uu.exec ()   self.close ()   其他:   好吧=QMessageBox。警告(自我,(“警告”),(“”账号或密码错误! " " "))   elif名称==癮dmin”和pwd==?23’和身份==?”:   自我。一个=Admin ()   self.a.show ()   self.close ()            其他:   如果name==":   好吧=QMessageBox。警告(自我,(“警告”),(““请输入账号! " " "))   如果pwd==?   好吧=QMessageBox。null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

pyqt5利用pyqtDesigner实现登录界面