PyQt5入门教程——简单实现一个登录界面

一、工具的安装

1.在PyCharm里面安装PyQt5

python 复制代码
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
python 复制代码
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

2.配置Qt Designer

我们在PyCharm当中,添加外部工具,这个名称就填QtDesigner,这个大小写不重要。

程序要找到自己下载的designer.exe的位置:C:\Users\86152\AppData\Local\Programs\Python\Python311\Lib\site-packages\qt5_applications\Qt\bin

一般是在你下载的Python的\Lib\site-packages\qt5_applications\Qt\bin

然后工作目录必须填

复制代码
$FileDir$

接下来我们添加PyUIC

程序则要找到我们的Python.exe

实参固定为

复制代码
-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py

工作目录也为

复制代码
$FileDir$

设置好以后,我们在PyCharm当中就可以通过外部工具使用

二、简单介绍一下这两个工具的功能

2.1QtDesigner介绍

QtDesigner是可视化拖拽开发图形,我们可以不用手写界面代码,直接拖按钮、文本框、布局,设计窗口或者对话框来保存为 .ui 文件。

2.2,简单设计一个登录系统

我们先新建一个窗体

这里左边是工具栏,右边是属性栏

先拖两个label,作为账号密码

然后拖两个line edit作为我们输入的数字

最后弄两个push button作为登录和注册按钮

然后把我们需要的信息填入

然后这时候我们发现,这个排版非常杂乱,有没有什么方法能,有的有的。这两个地方是排版的地方。

我们先将账号和密码水平排列,然后在右边是编辑属性,可以调间距

同理我们可以把这个通过水平数值排列整齐了,也可以把他们整体放大一下

然后就可以保存为.ui文件了

这个.ui文件是类似于HTML文件的

我们可以通过之前安装的PyUIC将这个.ui改写成.py文件

然后运行就会发现,没有输出这个窗口。

我们想要调用这个窗口则需要我们单独写一个程序进行调用

python 复制代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
# 导入你生成的界面类
from denlu import Ui_MainWindow  # 注意:你的ui转出来的文件名必须是 denlu.py


class MyLoginWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)  # 加载你设计的界面
        self.setWindowTitle("登录系统")

        # ------------ 绑定按钮点击事件 ------------
        # 登录按钮
        self.pushButton.clicked.connect(self.check_login)
        # 注册按钮(你可以后面再写功能)
        self.pushButton_2.clicked.connect(self.register_click)

    # 登录逻辑
    def check_login(self):
        # 获取你界面上的输入框内容
        username = self.lineEdit.text()       # 账号输入框
        password = self.lineEdit_2.text()     # 密码输入框

        # 简单验证
        if username == "admin" and password == "123456":
            QMessageBox.information(self, "成功", "登录成功!")
            self.close()
        else:
            QMessageBox.warning(self, "失败", "账号或密码错误")

    # 注册按钮点击
    def register_click(self):
        QMessageBox.information(self, "提示", "注册功能还没实现~")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyLoginWindow()
    window.show()
    sys.exit(app.exec_())

以上就是PyQt5的简单入门教程

相关推荐
s09071361 小时前
PetaLinux 文件系统目录详解:嵌入式 Linux 根文件系统各文件夹的作用与内容
linux·运维·服务器
曼岛_1 小时前
[网络安全]Linux权限维持-后门篇
linux·chrome·web安全
小陈99cyh1 小时前
redis 一直报错# Fatal: Can‘t initialize Background Jobs.
运维·redis
Fanfanaas2 小时前
Linux 系统编程 进程篇 (三)
linux·运维·服务器·c语言·单片机·学习
历程里程碑2 小时前
Linux 50 IP协议深度解析:从报头结构到子网划分与NAT
java·linux·开发语言·网络·c++·python·智能路由器
九天鸟2 小时前
ESXI里面虚拟机服务器始终保持免用户认证状态
linux·运维·centos
青城山下————2 小时前
CentOS 7 安装 Redis(使用默认 6379 端口)完整实践与踩坑总结
linux·redis·centos
汽车仪器仪表相关领域2 小时前
GT-NHVR-20-A1工业及商业用途点型可燃气体探测器:精准感知隐患,筑牢工商业安全防线
运维·网络·人工智能·功能测试·单元测试·汽车·压力测试
wanhengidc2 小时前
如何有效防范网络安全威胁
运维·服务器·网络·网络协议·安全·web安全·智能手机