目录

Python之PyQt5基础生成前端窗口

Python之PyQt5基础生成前端窗口

PyQt5之生成前端窗口

1 PyQt5


1.1 概念

PyQt5 是一个用于创建图形用户界面(GUI)应用程序的 Python 库。它是 Qt 应用程序框架的 Python 绑定,提供了丰富的 GUI 组件和功能,适用于开发跨平台的桌面应用程序。

1.2 PyQt5 的特点

  • 跨平台 :支持 Windows、macOS 和 Linux 等操作系统。
  • 丰富的组件 :提供了按钮、文本框、表格、对话框等丰富的 GUI 组件。
  • 强大的功能 :支持多线程、网络通信、数据库访问等高级功能。
  • 易于扩展 :可以通过 Qt Designer 设计界面,然后使用 PyQt5 实现逻辑。
  • 开源 :基于 GPL 和商业许可,适合个人和商业项目。

1.3 安装

PyQt5

pip install PyQt5

可视化Qt Designer设计界面安装

pip install PyQt5-tools

1.4 Qt Designer 设计界面

https://i-blog.csdnimg.cn/direct/8bf27a55e5774f29bb48b1dfbc03c20c.png

2 Qt Designer 设计界面介绍


2.1 创建

选择Main Winsow 进行创建

https://i-blog.csdnimg.cn/direct/e7c8b74680af40ba95b5de50a86985e8.png

2.2 常用框介绍

https://i-blog.csdnimg.cn/direct/79c09a20fdc54965bdad457124f80c4f.png

Push Bottom:点击反应按钮,设计页面双击可编辑文字,蓝色部分可改变大小

Line Edit: 一行文字编辑,设计页面双击可编辑文字,蓝色部分可改变大小

Text Edixt :多行文字编辑,设计页面双击可编辑文字,蓝色部分可改变大小

Label: 标签,可视不可点击、粘贴,设计页面双击可编辑文字,蓝色部分可改变大小

2.3 常用设置介绍

鼠标右击选框出现

https://i-blog.csdnimg.cn/direct/f404952817db47f98239566aa81111e6.png

编辑样式可改变文字等

https://i-blog.csdnimg.cn/direct/48b1c8cf2b45409b9e6de909bb3f74ba.png

特殊布局可先选择全部再选布局,如水平布局

https://i-blog.csdnimg.cn/direct/0cb7eb62fd0244b285b04ee804b25ae1.png

对象查看器

https://i-blog.csdnimg.cn/direct/6887ae01008c44639039afb9ea781845.png

点击选框对象查看器会标出对应选框,顺序无1,默认为1,增加时后缀_23456依次增加。

https://i-blog.csdnimg.cn/direct/4f683d12cb7d4eacbbec496a921978c8.png

属性查看编辑,选中后会出现相应属性

https://i-blog.csdnimg.cn/direct/fe0aaa0abc984b4dbd6363a2bcfe719f.png

坐标改变geometry下的x,y

高宽改变geometry下的高宽

https://i-blog.csdnimg.cn/direct/978ffc7e8c9f44a4a10f4382dd6a64fe.png

命名还可以更改text

https://i-blog.csdnimg.cn/direct/4a3904124bf941b7adda9f7b138f94e5.png

2.4 信号槽连接函数

信号槽可以设置连接函数,需要按钮是Push Button

https://i-blog.csdnimg.cn/direct/6f706bf8f8f84a6797656abe13d46856.png

设置操作,连接函数,选择clicked,点击触发,函数需要自己添加

https://i-blog.csdnimg.cn/direct/ce2e8f307e5945bb9f0020cb4a736e4c.png

编辑命名添加函数

https://i-blog.csdnimg.cn/direct/81e911f8004c4e1fb5fc4c6b3aacf68b.png

双重选择再ok

https://i-blog.csdnimg.cn/direct/ff1338da96b543fdb6cccb5ce634ee82.png

结果如下

https://i-blog.csdnimg.cn/direct/e3715cc3cd0945c89dd8916a628cb8ad.png

文件保存的ui需和python的控制py在同一个文件夹,且需要转为py文件

3 代码显示桌面

代码展示:

需要定义添加的函数money,以及导入转换ui后的py文件,其他不需要变动

from py文件 import Ui_MainWindow

from PyQt5 import QtCore, QtGui, QtWidgets  # 导入PyQt5的主要模块
from PyQt5.QtCore import *                 # 导入QtCore模块的所有内容,用于核心功能
from PyQt5.QtGui import *                  # 导入QtGui模块的所有内容,用于图形功能
from PyQt5.QtWidgets import QFileDialog, QMainWindow, QMessageBox  # 导入QtWidgets模块中的一些特定类
'''QFileDialog可以帮助用户选择文件路径
QMainWindow则是创建具有菜单、工具栏和状态栏的主窗口的起点。
QMessageBox可以用于向用户显示提示或警告信息'''
from money1 import Ui_MainWindow  # 导入UI类,这个类包含了你的主窗口设计
import sys   # 导入系统模块,用于访问命令行参数和系统相关功能

class PyQtMainEntry(QMainWindow, Ui_MainWindow): # 定义一个继承自QMainWindow和Ui_MainWindow的类
    def __init__(self):  # 构造函数
        super().__init__()  # 调用基类的构造函数进行初始化
        self.setupUi(self)  # 调用setupUi方法,根据Ui_MainWindow设计设置界
        # self.model = joblib.load('tree_model.pkl')

    '''定义要触发的函数'''
    def money(self):
        print('恭喜发财')
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)  # 创建应用程序实例
    window = PyQtMainEntry()  # 创建主窗口实例
    window.show()  # 显示主窗口
    sys.exit(app.exec_())  # 进入事件循环,并确保在退出时清理

运行结果:

https://i-blog.csdnimg.cn/direct/bc0c55ccdbcb4859a631b840906838fc.png

点击按钮或空隔键:

可重复点击输出,x掉窗口可退出

https://i-blog.csdnimg.cn/direct/f085fd361d32450bbc45f444e41ba240.png