pyqt5多界面切换,关联数据库校验,注册登录修改密码操作练习import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QLabel,QLineEdit
from PyQt5.QtGui import QPalette,QBrush,QPixmap
import pygame
pygame.mixer.init()
import pymysqlclass FirstUi(QMainWindow):"""首先进入界面"""def __init__(self):super(FirstUi, self).__init__()self.init_ui()def init_ui(self):self.resize(800, 600)self.setWindowTitle('登录首页')pygame.mixer.music.stop()#界面背景图palette = QPalette()palette.setBrush(QPalette.Background, QBrush(QPixmap("./images/登录首页背景.jpg")))self.setPalette(palette)# 左侧文字显示label_bj = 'border-width:2px;border-style:solid;font-size:15px;' \'border-color:rgb(255,170,0);background-color:rgb(100,149,237);'label_kd = 250  # 文字框初始宽label_gd = 350  # 文字框初始高label_kkd = 120  # 文字框初始宽label_kgd = 30  # 文字框初始高self.label = QLabel(self)self.label.setText("用户名")self.label.move(label_kd, label_gd)self.label.setFixedSize(label_kkd, label_kgd)self.label.setStyleSheet(label_bj)self.label1 = QLabel(self)self.label1.setText("密 码")self.label1.move(label_kd, label_gd + 40)self.label1.setFixedSize(label_kkd, label_kgd)self.label1.setStyleSheet(label_bj)# 信息反馈self.label2 = QLabel(self)self.label2.setText("信息反馈")self.label2.move(label_kd, label_gd + 120)self.label2.setFixedSize(label_kkd + 230, label_kgd)self.label2.setStyleSheet(label_bj)# 按钮 发送邮件self.button = QPushButton(self)self.button.setText("注 册")self.button.move(label_kd, label_gd + 80)self.button.setFixedSize(label_kkd - 40, label_kgd)self.button.setStyleSheet(label_bj)self.button1 = QPushButton(self)self.button1.setText("登 录")self.button1.move(label_kd + 90, label_gd + 80)self.button1.setFixedSize(label_kkd - 40, label_kgd)self.button1.setStyleSheet(label_bj)self.button2 = QPushButton(self)self.button2.setText("忘记密码")self.button2.move(label_kd + 180, label_gd + 80)self.button2.setFixedSize(label_kkd - 40, label_kgd)self.button2.setStyleSheet(label_bj)self.button3 = QPushButton(self)self.button3.setText("修改密码")self.button3.move(label_kd + 270, label_gd + 80)self.button3.setFixedSize(label_kkd - 40, label_kgd)self.button3.setStyleSheet(label_bj)# 按键 注 册 点击触发self.button.clicked.connect(self.openimage_ze)# 按键 登 录 点击触发self.button1.clicked.connect(self.openimage_dl)# 按键忘记密码点击触发self.button2.clicked.connect(self.openimage_xg)# 按键忘记密码点击触发self.button3.clicked.connect(self.openimage_xgmm)lineEdit_kd = 380  # 文字框初始宽lineEdit_gd = 350  # 文字框初始高lineEdit_kkd = 220  # 文字框初始宽lineEdit_kgd = 30  # 文字框初始高# 右侧文字输入栏lineEdit_bj = 'border-width:2px;border-style:solid;font-size:15px;' \'border-color:rgb(255,255,0);background-color:rgb(100,170,160);'self.lineEdit = QLineEdit(self)self.lineEdit.setText("zbjckm@163.com")self.lineEdit.move(lineEdit_kd, lineEdit_gd)self.lineEdit.setFixedSize(lineEdit_kkd - 10, lineEdit_kgd)self.lineEdit.setStyleSheet(lineEdit_bj)self.lineEdit1 = QLineEdit(self)self.lineEdit1.setText("szcNSP850219")self.lineEdit1.move(lineEdit_kd, lineEdit_gd + 40)self.lineEdit1.setFixedSize(lineEdit_kkd - 10, lineEdit_kgd)self.lineEdit1.setStyleSheet(lineEdit_bj)def slot_btn_functiona(self):self.hide()self.s = Jie_a_Ui()self.s.show()def slot_btn_functionb(self):self.hide()self.s = Jie_b_Ui()self.s.show()def sjk_lj(self):# 连接database 数据库self.conn = pymysql.connect(host='127.0.0.1', port=3306, user='szc', password='szcNSP850219', database='szc_sql',charset='utf8')def openimage_ze(self):"""注 册 按钮 """# 用户名self.user = self.lineEdit.text()# 密码self.password = self.lineEdit1.text()#登录数据库self.sjk_lj()# 得到一个可以执行SQL语句的光标对象self.cursor = self.conn.cursor()#查看用户名是否存在sql = "SELECT * FROM userinfo where username = '%s'" % self.userself.count = self.cursor.execute(sql)if self.count == 1:self.label2.setText(self.user+":用户名已存在")returnelse:sql = "insert into userinfo (username,passwd,createdate,state,statedate) values('%s','%s',now(),'US10',now()) " % (self.user, self.password)self.count = self.cursor.execute(sql)self.conn.commit()self.label2.setText(self.user+":恭喜您注册成功")# 关闭光标对象self.cursor.close()# 关闭数据库连接self.conn.close()def openimage_dl(self):"""登 录 按钮 """# 用户名self.user = self.lineEdit.text()# 密码self.password = self.lineEdit1.text()# 登录数据库self.sjk_lj()# 得到一个可以执行SQL语句的光标对象self.cursor = self.conn.cursor()# 查看用户名是否存在sql = "SELECT * FROM userinfo where username = '%s'" % self.userself.count = self.cursor.execute(sql)if self.count == 0:self.label2.setText(self.user + ":用户名不存在")else:sql = "SELECT passwd FROM userinfo where username = '%s'" % self.userself.cursor.execute(sql)self.sjk_mm = self.cursor.fetchone()[0]  # 获取密码if self.password == self.sjk_mm:self.slot_btn_functiona()else:self.label2.setText(self.user + ":您输入的密码不符")# 关闭光标对象self.cursor.close()# 关闭数据库连接self.conn.close()def openimage_xg(self):"""忘记密码 按钮 """# 用户名self.user = self.lineEdit.text()# 密码self.password = self.lineEdit1.text()# 登录数据库self.sjk_lj()# 得到一个可以执行SQL语句的光标对象self.cursor = self.conn.cursor()# 查看用户名是否存在sql = "SELECT * FROM userinfo where username = '%s'" % self.userself.count = self.cursor.execute(sql)if self.count == 0:self.label2.setText(self.user + ":用户名不存在")else:sql = "SELECT passwd FROM userinfo where username = '%s'" % self.userself.cursor.execute(sql)self.sjk_mm = self.cursor.fetchone()[0]  # 获取密码self.label2.setText(self.user+" 您的密码:" +self.sjk_mm[0:len(self.sjk_mm)-4] +'**' +self.sjk_mm[len(self.sjk_mm)-2:len(self.sjk_mm)] )# 关闭光标对象self.cursor.close()# 关闭数据库连接self.conn.close()def openimage_xgmm(self):"""忘记密码 按钮 """self.slot_btn_functionb()class Jie_a_Ui(QWidget):"""二层界面"""def __init__(self):super(Jie_a_Ui, self).__init__()self.init_ui()def init_ui(self):self.resize(800, 600)self.setWindowTitle('登录界面')# 界面背景图palette = QPalette()palette.setBrush(QPalette.Background, QBrush(QPixmap("./images/登录背景.jpg")))self.setPalette(palette)#背景音乐pygame.mixer.music.load('./images/爱笑的眼睛.MP3')pygame.mixer.music.play()self.btn = QPushButton('退回首页', self)self.btn.setGeometry(50, 500, 100, 50)self.btn.clicked.connect(self.slot_btn_function)def slot_btn_function(self):self.hide()self.f = FirstUi()self.f.show()class Jie_b_Ui(QWidget):"""二层界面"""def __init__(self):super(Jie_b_Ui, self).__init__()self.init_ui()# 界面背景图palette = QPalette()palette.setBrush(QPalette.Background, QBrush(QPixmap("./images/修改密码.jpg")))self.setPalette(palette)# 背景音乐pygame.mixer.music.load('./images/修炼爱情.MP3')pygame.mixer.music.play()def init_ui(self):self.resize(800, 600)self.setWindowTitle('修改密码')label_bj = 'border-width:2px;border-style:solid;font-size:15px;' \'border-color:rgb(255,170,0);background-color:rgb(100,149,237);'label_kd = 250  # 文字框初始宽label_gd = 350  # 文字框初始高label_kkd = 120  # 文字框初始宽label_kgd = 30  # 文字框初始高self.label = QLabel(self)self.label.setText("用户名")self.label.move(label_kd, label_gd)self.label.setFixedSize(label_kkd, label_kgd)self.label.setStyleSheet(label_bj)self.label1 = QLabel(self)self.label1.setText("密 码")self.label1.move(label_kd, label_gd + 40)self.label1.setFixedSize(label_kkd, label_kgd)self.label1.setStyleSheet(label_bj)# 信息反馈self.label2 = QLabel(self)self.label2.setText("新密码")self.label2.move(label_kd, label_gd + 80)self.label2.setFixedSize(label_kkd , label_kgd)self.label2.setStyleSheet(label_bj)# 信息反馈self.label3 = QLabel(self)self.label3.setText("信息反馈")self.label3.move(label_kd, label_gd + 160)self.label3.setFixedSize(label_kkd + 230, label_kgd)self.label3.setStyleSheet(label_bj)# 右侧文字输入栏lineEdit_bj = 'border-width:2px;border-style:solid;font-size:15px;' \'border-color:rgb(255,255,0);background-color:rgb(100,170,160);'lineEdit_kd = 380  # 文字框初始宽lineEdit_gd = 350  # 文字框初始高lineEdit_kkd = 220  # 文字框初始宽lineEdit_kgd = 30  # 文字框初始高self.lineEdit = QLineEdit(self)self.lineEdit.setText("zbjckm@163.com")self.lineEdit.move(lineEdit_kd, lineEdit_gd)self.lineEdit.setFixedSize(lineEdit_kkd - 10, lineEdit_kgd)self.lineEdit.setStyleSheet(lineEdit_bj)self.lineEdit1 = QLineEdit(self)self.lineEdit1.setText("szcNSP850219")self.lineEdit1.move(lineEdit_kd, lineEdit_gd + 40)self.lineEdit1.setFixedSize(lineEdit_kkd - 10, lineEdit_kgd)self.lineEdit1.setStyleSheet(lineEdit_bj)self.lineEdit2 = QLineEdit(self)self.lineEdit2.setText("新密码输入框")self.lineEdit2.move(lineEdit_kd, lineEdit_gd + 80)self.lineEdit2.setFixedSize(lineEdit_kkd - 10, lineEdit_kgd)self.lineEdit2.setStyleSheet(lineEdit_bj)self.button2 = QPushButton(self)self.button2.setText("修改密码")self.button2.move(label_kd , label_gd + 120)self.button2.setFixedSize(label_kkd +50, label_kgd)self.button2.setStyleSheet(label_bj)# 按键修改密码点击触发self.button2.clicked.connect(self.openimage_xg)self.button3 = QPushButton(self)self.button3.setText("退回首页")self.button3.move(label_kd +180, label_gd + 120)self.button3.setFixedSize(label_kkd +50, label_kgd)self.button3.setStyleSheet(label_bj)# 按键修改密码点击触发self.button3.clicked.connect(self.slot_btn_function)def sjk_lj(self):# 连接database 数据库self.conn = pymysql.connect(host='127.0.0.1', port=3306, user='szc', password='szcNSP850219', database='szc_sql',charset='utf8')def openimage_xg(self):"""修改密码 按钮 """# 用户名self.user = self.lineEdit.text()# 密码self.password = self.lineEdit1.text()# 登录数据库self.sjk_lj()# 得到一个可以执行SQL语句的光标对象self.cursor = self.conn.cursor()self.password_new = self.lineEdit2.text()# 查看用户名是否存在sql = "SELECT * FROM userinfo where username = '%s'" % self.userself.count = self.cursor.execute(sql)if self.count == 0:self.label3.setText(self.user + ":用户名不存在")else:sql = "SELECT passwd FROM userinfo where username = '%s'" % self.userself.cursor.execute(sql)self.sjk_mm = self.cursor.fetchone()[0]  # 获取密码if self.password == self.sjk_mm:sql = "update userinfo set passwd='%s' where username ='%s' " % (self.password_new, self.user)self.count = self.cursor.execute(sql)self.conn.commit()self.label3.setText(self.user + ":您的密码已修改")else:self.label3.setText(self.user + ":您输入的密码不符")# 关闭光标对象self.cursor.close()# 关闭数据库连接self.conn.close()def slot_btn_function(self):self.hide()self.f = FirstUi()self.f.show()def main():#主界面打开函数app = QApplication(sys.argv)w = FirstUi()w.show()sys.exit(app.exec_())if __name__ == '__main__':main()

pyqt5多界面切换,关联数据库校验,注册登录修改密码操作练习相关推荐

  1. html+css+php+mysql实现注册+登录+修改密码(附完整代码)

    注:转载及使用源代码请注明来源!如疑问可私信! 目的:在利用QT软件进行登录软件开发时,就想要实现点击按钮跳转到指定网页进行注册以及修改密码等操作,就像QQ客户端那样可以实现网页端修改密码,申请账户等 ...

  2. 【Android】eclipse 实现登录、注册、修改密码、数据库操作

    该项目参考:https://blog.csdn.net/midnight_time/article/details/91203973 目录 登录.注册.修改密码功能的实现 一.UI的设计 二.实现功能 ...

  3. 修改cas5成功html文件,手把手教Apereo CAS5.2.3 Server端 增量开发 自定义登录页,增加验证码,注册,修改密码等功能的方式...

    很高兴CAS系列帮助到了不少小伙伴,有不少小伙伴加QQ跟我交流 有个比较普遍的问题是大家不知道怎么把注册,修改密码等相关的功能嵌入CAS,这篇博客统一解答下,有些关于spring的内容是我查找资料结合 ...

  4. Django实现登录、注册、修改密码、重置密码

    需求: 1.实现Django的登录 2.实现Django的注册,校验用户名.密码的长度为6-20,邮箱是否合法,序列化等 3.实现根据ID或者用户名修改密码,ID为数据库的用户表的id 4.实现重置密 ...

  5. qt mysql 注册码_QT连接Oracle数据库并实现登录验证的操作步骤

    目的: 本文实现QT登录界面,输入账号和密码后,系统连接Oracle数据进行判断账号和密码(MD5加密)是否和数据库一致,如果一致则提示登录成功. 开发环境:Windows10+QT5.14.2+Or ...

  6. C#窗体程序连接SQL Server数据库实现账号登录、账号注册、修改密码、账号注销和实名认证(不定时更新)

    目录 一.配置数据库文件和程序代码 二.配置C#窗体控件布局和源代码 1.窗体Form1:账号登录界面 2.窗体Form2:账号注册界面 3.窗体Form3:主界面 4.窗体Form4:修改密码界面 ...

  7. spring mvc 模拟数据库实现注册 登录

    model层代码,用户 package com.entity; import java.io.Serializable;public class User implements Serializabl ...

  8. 第五十七篇 Django-CRM系统-1登录,注册,修改密码

    一.CRM框架简介 二.登录之设计表 在登录之前,我们需要用到django内置的登录验证去做,必须得使用django定义好的表结构或者我们重写表,使用一些我们需要的字段来进行验证.没有重写之前的表为U ...

  9. Shiro自定义realm实现密码验证及登录、密码加密注册、修改密码的验证

    一:先从登录开始,直接看代码 @RequestMapping(value="dologin",method = {RequestMethod.GET, RequestMethod. ...

最新文章

  1. 将Eclipse代码导入到Android Studio的两种方式
  2. Leangoo敏捷开发工具怎么添加成员
  3. 中国「人造太阳」刚刚再破纪录:运行时间突破千秒,负责人:为稳态的聚变工程堆奠定基础...
  4. 计算机网络-TCP协议
  5. MATLAB对函数做评估
  6. mysql的字符集编码_MySQL的字符编码设置
  7. 2007年教育学专业基础综合考试大纲
  8. android Spinner点击事件处理
  9. JavaWeb(七)——Cookie、Session
  10. 风吹来_风吹年年,雪落片片
  11. 如何提高Google Adsense单价:点击率篇
  12. SAP Spartacus ProductCarouselComponent
  13. STM32 DSP库的使用方法
  14. 使用虚拟机搭建ClouderaManager平台,并自动部署一个hadoop集群(CDH)
  15. bch纠错码 码长8_BCH码-BCH码原理-BCH码分类-BCH码的应用-什么是BCH码-测控百科-CK365测控网...
  16. 各种版本的python安装pyHook----解决找不到源的问题
  17. 给想去北大青鸟或是其他机构培训的同学
  18. 最好用的视频压缩软件压缩教程
  19. 基于RT-Thread系统的迷你时钟
  20. 彻底解决win10屏幕亮度无法调节

热门文章

  1. 优秀的视频素材分享给大家
  2. Ubuntu创建新用户的两种方法
  3. word2019计算机考试题及答案,2019年全国计算机等级考试一级上机Word练习题汇总...
  4. mq和kafka的不同之处
  5. 车载FAKRA 高清倒车影像连接线束
  6. 基于Java毕业设计大学生学科竞赛论文评审系统源码+系统+mysql+lw文档+部署软件
  7. 九度OJ——1028继续畅通工程
  8. 苹果开发者账号之DUNS查询与申请
  9. 青岛啤酒香飘紫禁城 邀你“进宫”过年
  10. 关于mysql叙述中错误的是什么_以下关于MySQL的叙述中,错误的是(1.0分)_学小易找答案...