pyqt5密码找回界面练习

密码找回界面练习

 

import sys, math
from PyQt5.QtWidgets import *
from PyQt5 import QtWidgets, QtCore, QtGui
import random

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.resize(800, 600)
        self.setWindowTitle('密码找回页面')
        self.setStyleSheet("background-color:rgb(135,206,235)")

        # 内部 显示图片 框属性
        self.label_tp = QLabel(self)
        # 内部 显示图片 框标题初始
        self.label_tp.setText("显示图片")
        # 内部窗口的宽度高度
        self.label_tp.setFixedSize(200, 80)
        # 内部窗口的显示位置
        self.label_tp.move(0, 0)
        # 内部窗口的内属性 font-size 字体大小,
        self.label_tp.setStyleSheet("QLabel{background:rgb(300,300,300,120,0.3);}"
                                    "QLabel{color:rgb(300,300,300,120,0.3);font-size:20px;font-weight:bold;font-family:宋体;}"
                                    )
        jpg = QtGui.QPixmap('./images/标志.jpg').scaled(self.label_tp.width(), self.label_tp.height())
        # 在窗体显示
        self.label_tp.setPixmap(jpg)

        # 会员注册 文字显示
        label_bj = 'border-width:1px;border-style:solid;font-size:25px;border-color:rgb(255,255,255,0.5);background-color:rgb(255,255,255,0.3);'
        self.label = QLabel(self)
        self.label.setText("遗忘密码")
        #self.label.setOpenExternalLinks(True)#允许超链接
        self.label.move(100, 100)
        self.label.setFixedSize(600, 50)
        self.label.setStyleSheet(label_bj)
        self.label.setAlignment(QtCore.Qt.AlignVCenter|QtCore.Qt.AlignCenter)

        label_wzbj = 'border-width:1px;border-style:solid;font-size:15px;border-color:rgb(0,0,0,0.5);background-color:rgb(255,255,255,0.3);'

        self.label_zh = QLabel(self)
        self.label_zh.setText("账户 :")
        self.label_zh.move(100, 170)
        self.label_zh.setFixedSize(100, 30)
        self.label_zh.setStyleSheet(label_wzbj)
        self.label_zh.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)

        self.label_xm = QLabel(self)
        self.label_xm.setText("确认方式 :")
        self.label_xm.move(100, 210)
        self.label_xm.setFixedSize(100, 30)
        self.label_xm.setStyleSheet(label_wzbj)
        self.label_xm.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)

        self.label_mm = QLabel(self)
        self.label_mm.setText("确认提示 :")
        self.label_mm.move(100, 250)
        self.label_mm.setFixedSize(100, 30)
        self.label_mm.setStyleSheet(label_wzbj)
        self.label_mm.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)

        self.label_qmm = QLabel(self)
        self.label_qmm.setText("确认信息 :")
        self.label_qmm.move(100, 290)
        self.label_qmm.setFixedSize(100, 30)
        self.label_qmm.setStyleSheet(label_wzbj)
        self.label_qmm.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)

        self.label_lxdh = QLabel(self)
        self.label_lxdh.setText("账号密码 :")
        self.label_lxdh.move(100, 330)
        self.label_lxdh.setFixedSize(100, 30)
        self.label_lxdh.setStyleSheet(label_wzbj)
        self.label_lxdh.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)



        self.sr_zh = QLineEdit(self)
        #self.sr_zh.setText("32261228")  # 用户名
        self.sr_zh.setPlaceholderText("请输入您的账号")
        self.sr_zh.move(210, 170)
        self.sr_zh.setFixedSize(400, 30)
        self.sr_zh.setStyleSheet(label_wzbj)

        # 性别默认为空
        self.info1 = ''
        self.info2 = ''
        self.rb11 = QRadioButton('  手机号码', self)
        self.rb11.move(210, 210)
        self.rb11.setFixedSize(130, 30)
        self.rb11.setStyleSheet(label_wzbj)

        self.rb12 = QRadioButton('  邮件地址', self)
        self.rb12.move(345, 210)
        self.rb12.setFixedSize(130, 30)
        self.rb12.setStyleSheet(label_wzbj)

        self.rb13 = QRadioButton('  证件编码', self)
        self.rb13.move(480, 210)
        self.rb13.setFixedSize(130, 30)
        self.rb13.setStyleSheet(label_wzbj)

        self.bg1 = QButtonGroup(self)
        self.bg1.addButton(self.rb11, 11)
        self.bg1.addButton(self.rb12, 12)
        self.bg1.addButton(self.rb13, 13)

        self.bg1.buttonClicked.connect(self.rbclicked)



        self.sr_mm = QLabel(self)
        self.sr_mm.setText("确认提示")
        self.sr_mm.move(210, 250)
        self.sr_mm.setFixedSize(400, 30)
        self.sr_mm.setStyleSheet(label_wzbj)

        self.sr_qmm = QLineEdit(self)
        self.sr_qmm.setPlaceholderText("请确认您的确认信息")
        #self.sr_qmm.setEchoMode(QLineEdit.PasswordEchoOnEdit)  # 密码输入正常,之后特殊显示
        self.sr_qmm.move(210, 290)
        self.sr_qmm.setFixedSize(400, 30)
        self.sr_qmm.setStyleSheet(label_wzbj)

        self.sr_lxdh = QLabel(self)
        self.sr_lxdh.setText("获取账号密码")
        self.sr_lxdh.move(210, 330)
        self.sr_lxdh.setFixedSize(400, 30)
        self.sr_lxdh.setStyleSheet(label_wzbj)



        #右侧确认
        self.label_zh_qr = QLabel(self)
        self.label_zh_qr.setText("*")
        self.label_zh_qr.move(620, 170)
        self.label_zh_qr.setFixedSize(100, 30)

        self.label_xm_qr = QLabel(self)
        self.label_xm_qr.setText("*")
        self.label_xm_qr.move(620, 210)
        self.label_xm_qr.setFixedSize(100, 30)

        self.label_mm_qr = QLabel(self)
        self.label_mm_qr.setText("*")
        self.label_mm_qr.move(620, 250)
        self.label_mm_qr.setFixedSize(100, 30)

        self.label_qmm_qr = QLabel(self)
        self.label_qmm_qr.setText("*")
        self.label_qmm_qr.move(620, 290)
        self.label_qmm_qr.setFixedSize(100, 30)

        self.label_lxdh_qr = QLabel(self)
        self.label_lxdh_qr.setText("")
        self.label_lxdh_qr.move(620, 330)
        self.label_lxdh_qr.setFixedSize(100, 30)



        #使用条款外链接
        self.label_sytk_qr = QLabel(self)
        self.label_sytk_qr.setText("请认真阅读:<a href='https://mail.163.com/'>《使用条款》</a>")
        self.label_sytk_qr.setOpenExternalLinks(True)#允许超链接
        self.label_sytk_qr.move(210, 410)
        self.label_sytk_qr.setFixedSize(200, 30)
        self.label_sytk_qr.setStyleSheet('font-size:15px;')

        #同意协议并注册
        self.bt1 = QPushButton('获取随机验证码', self)
        self.bt1.move(100, 450)
        self.bt1.setFixedSize(100, 30)
        # 设定时间
        self.count = 30
        self.bt1.clicked.connect(self.Action)
        self.time = QtCore.QTimer(self)
        # 每秒1000毫秒
        self.time.setInterval(1000)
        # 时间到触发 Refresh
        self.time.timeout.connect(self.Refresh)

        #随机码展示区
        self.label_sjm = QLabel(self)
        self.label_sjm.setText("随机码")
        self.label_sjm.move(210, 450)
        self.label_sjm.setFixedSize(60, 30)
        self.label_sjm.setStyleSheet(label_wzbj)
        self.label_sjm.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignCenter)

        #输入验证码
        self.sr_yzm = QLineEdit(self)
        self.sr_yzm.setPlaceholderText("请输入您的验证码")
        self.sr_yzm.move(280, 450)
        self.sr_yzm.setFixedSize(200, 30)
        self.sr_yzm.setStyleSheet(label_wzbj)

        #同意协议并注册
        self.bt2 = QPushButton('密码找回', self)
        self.bt2.move(490, 450)
        self.bt2.setFixedSize(120, 30)
        self.bt2.clicked.connect(self.register)

        self.label_zctg_qr = QLabel(self)
        self.label_zctg_qr.setText("")
        self.label_zctg_qr.move(620, 450)
        self.label_zctg_qr.setFixedSize(100, 30)



        self.show()

    def rbclicked(self):
        sender = self.sender()
        if sender == self.bg1 and len(self.sr_zh.text()) >0:
            if self.bg1.checkedId() == 11:
                self.info1 = '手机'
                self.info2 = '139XXXXXXX'
                self.sr_mm.setText('填写手机号码:139XXXXXXX')
            elif self.bg1.checkedId() == 12:
                self.info1 = '邮件'
                self.info2 = 'XXXXXXX@163.com'
                self.sr_mm.setText('填写邮箱地址:XXXXXXX@163.com')
            elif self.bg1.checkedId() == 13:
                self.info1 = '证件'
                self.info2 = '37XXXXXXXXXXXXXX'
                self.sr_mm.setText('填写证件编码:37XXXXXXXXXXXXXX')
            else:
                self.info1 = ''
                self.info2 = ''
        else:
            self.sr_mm.setText('请先输入您的账号')


    def Action(self):
        if self.bt1.isEnabled():
            self.time.start()
            self.bt1.setEnabled(False)
            sjs = str(random.randint(0, 9999))
            #如果随机码长度不够4位,前面补零
            if len(sjs) < 4:
                sjs = '0' * (4 - len(sjs)) + sjs
            self.label_sjm.setText(sjs)



    def Refresh(self):
        if self.count > 0:
            self.bt1.setText(str(self.count) + '秒后重发')
            self.count -= 1
        else:
            self.time.stop()
            self.bt1.setText('获取随机验证码')
            self.bt1.setEnabled(True)
            # 点击发送后 count 重置为30
            self.count = 30

    def register(self):
        #先将标记还原
        self.label_zh_qr.setText('*')
        self.label_xm_qr.setText('*')
        self.label_mm_qr.setText('*')
        self.label_qmm_qr.setText('*')

        if len(self.sr_zh.text()) == 0:
            self.label_zh_qr.setText('用户账号为空')

        elif self.info1 == '':
            self.label_xm_qr.setText('确认类型为空')

        elif len(self.sr_mm.text()) == 0:
            self.label_mm_qr.setText('用户密码为空')

        elif len(self.sr_qmm.text()) == 0:
            self.label_qmm_qr.setText('确认信息为空')

        elif self.sr_qmm.text() != self.info2:
            self.label_qmm_qr.setText('确认信息不一致')

        elif len(self.sr_yzm.text()) == 0:
            self.label_zctg_qr.setText('验证码为空')

        elif self.label_sjm.text() != self.sr_yzm.text():
            self.label_zctg_qr.setText('验证码不一致')
        else:
            self.label_zctg_qr.setText('确认信息')
            self.sr_lxdh.setText('XXXXXXXX')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值