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

相关推荐
A小辣椒13 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒17 小时前
TShark:基础知识
linux
AlfredZhao19 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式