修改qq登录界面(qq动态电脑版登录界面)
登陆界面的显示,在我的主页有详细讲解,不理解的可以爬爬楼,关注关注,哈哈~
这个链接“用python制作一个登陆界面”
https://zhuanlan.zhihu.com/p/348330613
准备:(1)我们这里需要用数据库,这里我用的mysql,对于怎么下载,安装,创建表格,这个链接有,或者我的主页也有“MySQL数据库安装和使用方法” https://zhuanlan.zhihu.com/p/352705705
(2) 需要安装pymysql库
具体安装方法打开cmd 输入pip install pymysql即可
面向对象的好处就在于你只用改部分代码,话不多说放代码这个是登陆成功的方法
self.button1.clicked.connect(self.Button1) self.button2.clicked.connect(self.Button2) def Button1(self): conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456789', port=3306, db='密码', charset='utf8') cur = conn.cursor() # 生成游标对象 sql = "SELECT * FROM 密码.new_table" # SQL语句 cur.execute(sql) # 执行SQL语句 data = cur.fetchall() # 通过fetchall方法获得数据 for i in data[:1]: # 打印输出前2条数据 j = list(i) names = j[1] passwords = str(j[2]) name = self.Le1.text() keys = self.Le2.text() if name == names and keys == passwords: #self.close()如果有这行代码,可以在显示登陆成功的同时,关闭登陆界面 import os os.system('first.py')#调用同一目录下的python文件 else: print('2') cur.close() # 关闭游标 conn.close() # 关闭连接
需要创建登陆成功的步騶
(一)其中需要绑定按钮的事件
self.button1.clicked.connect(self.Button1) self.button2.clicked.connect(self.Button2)
(二)建立Button1按钮的方法和Button2的方法
def Button1(self):
(三)链接数据库
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456789', port=3306, db='密码', charset='utf8')
其中host,默认是127.0.01是连接号,user是用户名, passwd是密码,port是端口,默认是3306, charset是字符编码
(四)sql语句
这个就是查询的语句
(五)建立一个新的python文件
建立一个新的是需要窗口显示登陆成功的文字
from PyQt5.Qt import * from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QTextEdit, QVBoxLayout) import sysclass window(QWidget): def __int__(self): self.setWindowTitle('登陆界面')#设置界面标题 self.setGeometry(300, 300, 400, 300)#设置窗口位置大小 self.Assembly() def Assembly(self): self.Lb1 = QLabel(self,text='登陆成功') self.Lb1.resize(300, 30) self.Lb1.setAlignment(Qt.AlignCenter) self.Lb1.setStyleSheet("color:rgb(10,10,10,255);font-size:25px;font-weight:bold;font-family:Roman times;") self.Lb1.move(50, 100)#设置标签 self.show() app = QApplication(sys.argv) apps = window() apps.__int__() sys.exit(app.exec_())
注意点:
1.登陆输入的密码和用户名是字符串,数据库里的数据需要用强制转换,转换成字符串才行,不然会报错方法是str()
2.在运行的时候需要先打开数据库,不然会报错
3.
这个是用户名和链接号,不要弄错了,还有密码是你进入数据库的时候输入的密码
好了放全部代码
登陆界面的全部代码
from PyQt5.Qt import * from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QTextEdit, QVBoxLayout) import xlwt import sys import pymysqlclass window(QWidget): def __int__(self): self.setWindowTitle('登陆界面')#设置界面标题 self.setGeometry(500, 400, 500, 400)#设置窗口位置大小 self.Assembly() self.show() def Assembly(self): self.Lb1 = QLabel(self, text='账号:') self.Lb1.move(85, 50)#设置标签 self.Le1 = QLineEdit(self) self.Le1.move(145, 50) self.Le1.resize(160, 24) self.Lb2 = QLabel(self, text='密码:') self.Lb2.move(85,100) self.Le2 = QLineEdit(self)#设置一个文本框对象 self.Le2.resize(160, 24)#设置大小 self.Le2.move(145, 100)#设置位置 self.Le2.setEchoMode(2)#添加文本框显示模式 self.button1 = QPushButton('登陆', self) self.button1.move(100,200) self.button2 = QPushButton('注册',self) self.button2.move(200, 200) self.button5 = QPushButton('忘记密码', self) self.button5.move(325, 100) self.button5.resize(70, 24) self.button1.clicked.connect(self.Button1) self.button2.clicked.connect(self.Button2) def Button1(self): conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456789', port=3306, db='密码', charset='utf8') cur = conn.cursor() # 生成游标对象 sql = "SELECT * FROM 密码.new_table" # SQL语句 cur.execute(sql) # 执行SQL语句 data = cur.fetchall() # 通过fetchall方法获得数据 for i in data[:1]: # 打印输出前2条数据 j = list(i) names = j[1] passwords = str(j[2]) name = self.Le1.text() keys = self.Le2.text() if name == names and keys == passwords: #self.close()如果有这行代码,可以在显示登陆成功的同时,关闭登陆界面 import os os.system('first.py')#调用同一目录下的python文件 else: print('2') cur.close() # 关闭游标 conn.close() # 关闭连接 def Button2(self): passif __name__ == '__main__': app = QApplication(sys.argv) apps = window() apps.__int__() sys.exit(app.exec_())
下期我们将实现
QQ登陆的全部功能,关注小白不迷茫,码了这么多的代码和文字,各位大哥给点赞和关注吧