pyqt5密码找回界面练习

2024-03-07 07:08

本文主要是介绍pyqt5密码找回界面练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

密码找回界面练习

 

import sys, math
from PyQt5.QtWidgets import *
from PyQt5 import QtWidgets, QtCore, QtGui
import randomclass 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 = 30self.bt1.clicked.connect(self.Action)self.time = QtCore.QTimer(self)# 每秒1000毫秒self.time.setInterval(1000)# 时间到触发 Refreshself.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)) + sjsself.label_sjm.setText(sjs)def Refresh(self):if self.count > 0:self.bt1.setText(str(self.count) + '秒后重发')self.count -= 1else:self.time.stop()self.bt1.setText('获取随机验证码')self.bt1.setEnabled(True)# 点击发送后 count 重置为30self.count = 30def 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_())

这篇关于pyqt5密码找回界面练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782726

相关文章

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

【Python篇】PyQt5 超详细教程——由入门到精通(终篇)

文章目录 PyQt5超详细教程前言第9部分:菜单栏、工具栏与状态栏9.1 什么是菜单栏、工具栏和状态栏9.2 创建一个简单的菜单栏示例 1:创建带有菜单栏的应用程序代码详解: 9.3 创建工具栏示例 2:创建带有工具栏的应用程序代码详解: 9.4 创建状态栏示例 3:创建带有状态栏的应用程序代码详解: 9.5 菜单栏、工具栏与状态栏的结合示例 4:完整的应用程序界面代码详解: 9.6 总结