侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

pyqt5利用pyqtDesigner实现登录界面

Python  /  管理员 发布于 5年前   625

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

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

逻辑类:

import sysimport pymysqlfrom loginUI import *  //导入from PyQt5.QtWidgets import *from PyQt5 import QtWidgets, QtCore, QtGuifrom PyQt5.QtCore import *from PyQt5.QtGui import class Login(QtWidgets.QDialog): def __init__(self):  super(Login, self).__init__()  self.ui = Ui_login_Ui()  self.ui.setupUi(self)  # self.setMinimumSize(QtCore.QSize(400, 200)) # 控制缩放范围  # self.setMaximumSize(QtCore.QSize(400, 200))  self.setWindowTitle("欢迎使用停车场管理系统")  self.setFixedSize(self.width(), self.height())  self.ui.labelTip.hide()  self.ui.labelTip.setText("密码或用户名不能为空!")  # 设置label字体  labelFont = QFont()  labelFont.setPixelSize(15)  # 设置动态背景  self.gif = QMovie('bg2.gif')  self.ui.label_2.setMovie(self.gif)  self.gif.start()  # 这在label属性  self.ui.labelTip.setStyleSheet(   "QLabel{color:red;font-size:12px;font-weight:bold;font-family:Roman times;}"         )  self.ui.userLabel.setStyleSheet("QLabel{background:white;}"     "QLabel{color:rgb(100,100,100,250);font-size:15px;font-weight:bold;font-family:Roman times;}"     "QLabel:hover{color:rgb(300,300,300,120);}")  self.ui.pwdlabel.setStyleSheet("QLabel{background:white;}"     "QLabel{color:rgb(100,100,100,250);font-size:15px;font-weight:bold;font-family:Roman times;}"     "QLabel:hover{color:rgb(300,300,300,120);}")  self.ui.label.setStyleSheet("QLabel{background:white;}"     "QLabel{color:rgb(100,100,100,250);font-size:15px;font-weight:bold;font-family:Roman times;}"     "QLabel:hover{color:rgb(300,300,300,120);}")   self.ui.loginButton.setStyleSheet("QPushButton{color:black}""QPushButton:hover{color:red}""QPushButton{background-color:lightblue}""QPushButton{border:2px}""QPushButton{border-radius:10px}""QPushButton{padding:2px 4px}")  self.ui.registerButton.setStyleSheet("QPushButton{color:black}""QPushButton:hover{color:red}""QPushButton{background-color:lightgreen}""QPushButton{border:2px}""QPushButton{border-radius:10px}""QPushButton{padding:2px 4px}")   palette = QPalette()  icon = QPixmap('bg2.gif').scaled(800, 600)  palette.setBrush(self.backgroundRole(), QBrush(icon))  self.setPalette(palette)  self.ui.userLabel.setFont(labelFont)  self.ui.pwdlabel.setFont(labelFont)  self.ui.label.setFont(labelFont)  # 设置控件尺寸  # self.ui.userlineEdit.setFrame(False)  # self.ui.pwdlineEdit.setFrame(False)  self.ui.pwdlineEdit.setEchoMode(QLineEdit.Password)# 输入框设为密码模式  self.ui.pwdlineEdit.setClearButtonEnabled(True)  self.ui.userlineEdit.setClearButtonEnabled(True)  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('Enter') # shortcut key  # 登陆的槽函数登陆按钮 最好写在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()  identity = self.ui.comboBox.currentIndex()  identity = str(identity)  sql = "select * from administrater where username = '" + name + "' and password = '" + pwd + "' and identity= '"+ identity +"' "  db = PyMySQLHelper()  db.selectALL(sql) def keyPressEvent(self, event):  if event.key() == QtCore.Qt.Key_Enter:   self.slotLogin() def findPwd(self):  # self.accept()  self.u = FPwd_ui()  self.u.show()  # self.ui.exec() def slotLogin(self):  # # 获得登录输入  name = self.ui.userlineEdit.text()  pwd = self.ui.pwdlineEdit.text()  print(name)  db = PyMySQLHelper()   identity = self.ui.comboBox.currentIndex() # 获取下标  identity = str(identity)  if name != '' and pwd != '':   if identity == '0':    sql = "select * from administrater where username = '" + name + "' and " \        "password = '" + pwd + "' and identity= '" + identity + "' "    print(sql)    # cursor.execute(sql)    # results = cursor.fetchall()    results = db.selectALL(sql)    if results:     self.ui1 = Finance()     # self.ui1.exec()     self.ui1.show()     self.close()    else:     OK = QMessageBox.warning(self, ("警告"), ("""账号或密码错误!"""))    # cursor.close()    # conn.close()   elif identity == '1':    sql = "select * from administrater where username = '" + name + "' and " \        "password = '" + pwd + "' and identity= '" + identity + "' "    print(sql)    # cursor.execute(sql)    # results = cursor.fetchall()    results = db.selectALL(sql)    if results:     self.ui2 = InfoManage()     self.ui2.show()     self.close()    else:     OK = QMessageBox.warning(self, ("警告"), ("""账号或密码错误!"""))   elif identity == '2':    sql = "select * from administrater where username = '" + name + "' and " \        "password = '" + pwd + "' and identity= '" + identity + "' "    print(sql)    results = db.selectALL(sql)    # print(identity)    if results:     self.uu = SeatManage()     self.uu.exec()     self.close()    else:     OK = QMessageBox.warning(self, ("警告"), ("""账号或密码错误!"""))   elif name == 'admin' and pwd == '123' and identity == '3':    self.a = Admin()    self.a.show()    self.close()  else:   if name == '':    OK = QMessageBox.warning(self, ("警告"), ("""请输入账号!"""))   if pwd == '':    OK = QMessageBox.warning(self, ("警告"), ("""请输入密码!"""))  # cursor.close()  # conn.close() def slotRegister(self):  self.i = reUi() # self.i的窗口命名不能重复  self.i.exec_()if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) my = Login() my.show() sys.exit(app.exec_())

界面类:

from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_login_Ui(object): def setupUi(self, login_Ui):  login_Ui.setObjectName("login_Ui")  login_Ui.resize(581, 533)  self.gridLayoutWidget = QtWidgets.QWidget(login_Ui)  self.gridLayoutWidget.setGeometry(QtCore.QRect(160, 330, 295, 141))  self.gridLayoutWidget.setObjectName("gridLayoutWidget")  self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)  self.gridLayout.setContentsMargins(0, 0, 0, 0)  self.gridLayout.setObjectName("gridLayout")  self.horizontalLayout_2 = QtWidgets.QHBoxLayout()  self.horizontalLayout_2.setObjectName("horizontalLayout_2")  self.loginButton = QtWidgets.QPushButton(self.gridLayoutWidget)  self.loginButton.setObjectName("loginButton")  self.horizontalLayout_2.addWidget(self.loginButton)  self.registerButton = QtWidgets.QPushButton(self.gridLayoutWidget)  self.registerButton.setObjectName("registerButton")  self.horizontalLayout_2.addWidget(self.registerButton)  self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget)  self.pushButton.setObjectName("pushButton")  self.horizontalLayout_2.addWidget(self.pushButton)  self.gridLayout.addLayout(self.horizontalLayout_2, 4, 1, 1, 1)  self.userlineEdit = QtWidgets.QLineEdit(self.gridLayoutWidget)  self.userlineEdit.setObjectName("userlineEdit")  self.gridLayout.addWidget(self.userlineEdit, 0, 1, 1, 1)  self.userLabel = QtWidgets.QLabel(self.gridLayoutWidget)  self.userLabel.setObjectName("userLabel")  self.gridLayout.addWidget(self.userLabel, 0, 0, 1, 1)  self.labelTip = QtWidgets.QLabel(self.gridLayoutWidget)  self.labelTip.setObjectName("labelTip")  self.gridLayout.addWidget(self.labelTip, 3, 1, 1, 1)  self.pwdlineEdit = QtWidgets.QLineEdit(self.gridLayoutWidget)  self.pwdlineEdit.setObjectName("pwdlineEdit")  self.gridLayout.addWidget(self.pwdlineEdit, 1, 1, 1, 1)  self.pwdlabel = QtWidgets.QLabel(self.gridLayoutWidget)  self.pwdlabel.setObjectName("pwdlabel")  self.gridLayout.addWidget(self.pwdlabel, 1, 0, 1, 1)  self.comboBox = QtWidgets.QComboBox(self.gridLayoutWidget)  self.comboBox.setObjectName("comboBox")  self.comboBox.addItem("")  self.comboBox.addItem("")  self.comboBox.addItem("")  self.comboBox.addItem("")  self.gridLayout.addWidget(self.comboBox, 2, 1, 1, 1)  self.label = QtWidgets.QLabel(self.gridLayoutWidget)  self.label.setObjectName("label")  self.gridLayout.addWidget(self.label, 2, 0, 1, 1)  self.label_2 = QtWidgets.QLabel(login_Ui)  self.label_2.setGeometry(QtCore.QRect(-10, 0, 601, 321))  self.label_2.setText("")  self.label_2.setObjectName("label_2")  self.retranslateUi(login_Ui)  QtCore.QMetaObject.connectSlotsByName(login_Ui) def retranslateUi(self, login_Ui):  _translate = QtCore.QCoreApplication.translate  login_Ui.setWindowTitle(_translate("login_Ui", "Form"))  self.loginButton.setText(_translate("login_Ui", "登 陆"))  self.registerButton.setText(_translate("login_Ui", "注 册"))  self.pushButton.setText(_translate("login_Ui", "找回密码"))  self.userLabel.setText(_translate("login_Ui", " 账 户"))  self.labelTip.setText(_translate("login_Ui", "密码或用户名错误"))  self.pwdlabel.setText(_translate("login_Ui", " 密 码"))  self.comboBox.setItemText(0, _translate("login_Ui", "财务管理员"))  self.comboBox.setItemText(1, _translate("login_Ui", "信息管理员"))  self.comboBox.setItemText(2, _translate("login_Ui", "停车场管理员"))  self.comboBox.setItemText(3, _translate("login_Ui", "超级管理员"))  self.label.setText(_translate("login_Ui", " 请选择"))

具体代码:pyqt5实现登录界面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    PyQt5实现简单数据标注工具
    下一条:
    pyqt5实现登录界面的模板
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客