利用pyQt建立一个简单的登录界面

一、安装环境

首先需要安装pyqt

pip install PyQt5

然后需要安装py design,帮助我们可视化布局

pip install PyQt5-tools

如果安装pyqt出现报错,请检查python版本是否为3.8,其他版本可能会报C++不存在的错误。

二、前端布局
找到py design
位置在
python安装目录 \Lib\site-packages\qt5_applications\Qt\bin

在这里插入图片描述
选择第三项,新建空白界面

拖两个Line Edit

在这里插入图片描述
再拖一个Button
在这里插入图片描述
这样我们的前端界面就初步完成了。

最后来绑定一下函数

在这里插入图片描述
点击工具栏的带箭头图表的按钮,选择并拖动按钮,给按钮绑定函数

在这里插入图片描述
右边的编辑可以自定义函数名

已添加点击执行submit()函数
在这里插入图片描述

将布局进行保存,保存是.ui文件,需要将.ui 转换成.py

执行如下代码

python -m PyQt5.uic.pyuic test.ui -o test.py

在这里插入图片描述
转换成功

三、功能实现

此时新建一个python文件,login.py,加载布局并且实现功能

from test import Ui_Dialog  #导入布局文件
from PyQt5.Qt import *




class loginWindow(QWidget, Ui_Dialog):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
	
	#按钮绑定函数
    def submit(self):
    	#lineEdit 和 lineEdit_2 均为qtDesign定义的名字
    	#获取id和pwd的值
    	id = self.lineEdit.text()
        pwd = self.lineEdit_2.text()
        print(id,pwd)
		

        


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)

    loginwindow = loginWindow()
    loginwindow.show()
    sys.exit(app.exec_())

此时按下按钮可以获取,id和pwd的值

四、服务器的建立

from flask import Flask,render_template,request,g,session,url_for
import MySQLdb
import os
import json



#MySQL配置
host = 'localhost'
user = 'root'
password = '123'
database = 'test'

app = Flask(__name__) 

# 建立数据库连接
db = MySQLdb.connect(host=host, user=user, passwd=password, db=database)

#定义路由
@app.route("/login",methods=['POST','GET'])
def login():
    id = request.values.get("id")
    pwd = request.values.get("pwd")

    db = MySQLdb.connect(host=host, user=user, passwd=password, db=database)
    cursor = db.cursor()
    cursor.execute("SELECT * from teacher where id = %s and pwd = %s",(id,pwd,))

    #查询结果 只查一个
    data = cursor.fetchone()

    #查询结果个数
    count = cursor.rowcount

    if count != 0:
        return "ok"
    else:
        return "no"
    

if __name__ == '__main__':  
    app.run(debug=True)

五、完善程序

from login import Ui_Dialog
from random import randint
from main import mainWindow
from PyQt5.Qt import *
import requests



class loginWindow(QWidget, Ui_Dialog):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

    def submit(self):
        id = self.lineEdit.text()
        pwd = self.lineEdit_2.text()
        print(id,pwd)
        print("http://localhost:5000/login?id={}&pwd={}".format(id,pwd))
        res = requests.get("http://localhost:5000/login?id={}&pwd={}".format(id,pwd))
        print(res.text)

        if res.text == "ok":
            message_box = QMessageBox()  
            message_box.setWindowTitle("提示")  
            message_box.setText("登录成功")  
            message_box.setIcon(QMessageBox.Information)  
            message_box.exec_()
            
        else:
            message_box = QMessageBox()  
            message_box.setWindowTitle("提示")  
            message_box.setText("账户或密码错误")  
            message_box.setIcon(QMessageBox.Information)  
            message_box.exec_()

        


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)

    loginwindow = loginWindow()
    loginwindow.show()
    sys.exit(app.exec_())

这样就完成了一个简单的登录系统

在这里插入图片描述

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值