车牌识别-登录界面

显示效果:

代码段: LoginWin.py

 需要注意 构造函数需要父类作为参数 因此该界面需要从父界面进入

# 所有界面的父亲:QWidget
from PyQt5.QtGui import QIcon, QPalette, QBrush, QPixmap
from PyQt5.QtWidgets import QWidget, QApplication, QLabel, QPushButton, QLineEdit, QMessageBox
import sys

from AIFaceDetect import AI_facedetect
from CarWin import CarWin
from DealWin import DealPic
from data import userList

""" 
 放在data.py中import进来
# 字典 {key:value}
userList = [
    {"name": "xly", "pwd":"123456"},
    {"name":"jack","pwd":"123456"},
    {"name":"jcy","pwd":"123456"},
]
user1 = {"name": "xly", "pwd": "123456"}
user2 = {"name":"jack","pwd":"123456"}
user3={"name":"jcy","pwd":"123456"}
"""

class loginWidget(QWidget):
    def __init__(self,parent):
        # 构造函数
        super().__init__() #调用父类的构造函数

        self.parent=parent #parent存的是 MainWin
        # 创建需要的标签
        self.setWindowTitle("车牌识别")  # 设置标题
        self.resize(630, 480)  # 固定尺寸
        # 设置左上角的Logo
        self.setWindowIcon(QIcon("./img/comic.png"))

        # 设置背景
        palatte = QPalette()
        palatte.setBrush(self.backgroundRole(), QBrush(QPixmap("./img/background.jpg")))
        self.setPalette(palatte)

        self.labName = QLabel("用户名:", self)
        self.labName.setStyleSheet("color:white")
        self.labName.setGeometry(120, 200, 60, 30)

        self.labpwd = QLabel("密码:", self)
        self.labpwd.setStyleSheet("color:white")
        self.labpwd.setGeometry(120, 240, 60, 30)

        self.editName = QLineEdit(self)
        self.editName.setGeometry(200, 200, 150, 30)
        # 设置输入的长度
        self.editName.setMaxLength(8)

        self.editpwd = QLineEdit(self)
        self.editpwd.setGeometry(200, 240, 150, 30)
        # 设置密文
        self.editpwd.setEchoMode(QLineEdit.Password)

        self.logbtn = QPushButton("登录", self)
        self.logbtn.setGeometry(120, 300, 100, 30)

        self.exitbtn = QPushButton("退出", self)
        self.exitbtn.setGeometry(230, 300, 100, 30)

        # 点击登录时, 验证一下用户名和密码是否满足
        # qt的核心--信号和槽
        self.logbtn.clicked.connect(self.logincheck)
        self.exitbtn.clicked.connect(self.closeWindow)
        # 登录验证

    def logincheck(self):
        # .text()获取EditLine的内容
        print(self.editName.text())  # 打印当前的用户名
        print(self.editpwd.text())  # 打印当前的密码
        for i in userList: #表示的是userlist每个用户名和密码
            print(i["name"],i["pwd"])#如何获取字典中的数据 [key]获取到的是value
            if self.editName.text() == i["name"] and self.editpwd.text() == i["pwd"]:
                print("登录成功")
                QMessageBox.about(self, "提示框", "登录成功!")
                self.close()  # 或者用self.hide()隐藏掉
                # 显示登录界面
                self.dealWin = CarWin()
                self.dealWin.show()
                break #登录成功就结束
        else: #注意这个else是和for循环组成的
            """        
            如果for循环是正常执行完的话都会执行else
            如果for循环是通过break跳出的 那后面的else就不会执行了
            """
            QMessageBox.about(self, "提示框", "该用户不存在!")

    def closeWindow(self):
        self.close()  # 或者用self.hide()隐藏掉
        self.parent.show()

#
if __name__ == '__main__':
    app = QApplication(sys.argv)  # 应用程序
    login = loginWidget()  # 创建一个登陆窗口
    login.show()  # 显示窗口
    sys.exit(app.exec_())  # 保持窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值