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的简单入门教程

相关推荐
嵌入式-老费2 小时前
esp32开发与应用(用Python+PySide6解决上位机开发)
linux·单片机·嵌入式硬件
事已至此先睡覺吧3 小时前
(三)Linux 基础指令(二):基础常用的一些指令
linux·运维·服务器
不会写DN3 小时前
Go日志库工程选型与逃逸分析评测报告
java·服务器·golang
ShineWinsu4 小时前
对于Redis:Redis的认识以及分布式系统的解析
linux·数据库·c++·redis·缓存·消息队列·分布式架构
Zenova EdgeOS4 小时前
Linux IO 监测:iotop 工业边缘排障实战
linux·边缘计算·工业网关·iotop·排障
Fcy6484 小时前
Linux下 传输层协议UDP详解(含底层源码解析)
linux·运维·udp
鬼手点金4 小时前
Claude Code示范案例-常用快捷命令
java·服务器·前端·计算机视觉·前向传播
阿钱真强道4 小时前
12 嵌入式操作系统 | UDP 服务器编程
服务器·网络协议·udp
青梅味猪大肠4 小时前
【操作系统-24】双标志先检查
linux·运维·服务器
华允物联-HUAIOT4 小时前
带隔离的串口服务器有必要买吗?隔离作用对比
服务器·物联网