当前位置:首页>python>Python学习第16天: GUI 开发入门之PyQt6 学

Python学习第16天: GUI 开发入门之PyQt6 学

  • 2026-10-12 17:14:29
Python学习第16天: GUI 开发入门之PyQt6 学

前面我们已经完成了 Python 基础学习,今天开始学习进入 GUI(图形用户界面) 学习阶段!现在我先梳理 Python 主流 GUI 技术,再详细说一下我们要重点学习的 PyQt6,包括框架介绍、核心类/模块、环境搭建。

一、Python 主流 GUI 技术盘点

Python 生态中有多种 GUI 开发框架,适合不同场景,下面是最常用的几种对比:

框架名称
核心特点
适用场景
优缺点
PyQt6
基于 Qt 6 库,功能最强大、生态最完善
桌面软件(工具、客户端、工业软件)
优点:功能全、界面美观、跨平台;缺点:学习曲线稍陡,商业使用需注意授权
Tkinter
Python 内置库,无需额外安装
简单小工具、入门练习
优点:零配置、轻量;缺点:界面简陋、功能有限
PySide6
Qt 官方维护,与 PyQt6 语法几乎一致
商业项目、开源项目
优点:免费商用、官方支持;缺点:生态略小于 PyQt6
wxPython
原生系统风格界面
追求原生体验的桌面工具
优点:界面贴近系统;缺点:文档较少、功能不如 PyQt
Kivy
跨平台(支持移动端)、触控优先
移动端 APP、触控界面
优点:跨端支持;缺点:桌面端体验一般

我们选择学习 PyQt6 的原因:功能最全面、社区资源最多、企业使用率最高,学会后能开发各类专业桌面软件,是 Python GUI 开发的首选。

二、PyQt6 框架详细介绍

1. 什么是 PyQt6?

PyQt6 是 Qt 6 应用框架的 Python 绑定,Qt 是全球最流行的跨平台 C++ GUI 框架,PyQt6 让 Python 开发者可以直接调用 Qt 的所有功能,无需编写 C++ 代码。

2. PyQt6 核心优势

  1. 1. 跨平台:一套代码可直接运行在 Windows、macOS、Linux 系统,无需修改
  2. 2. 功能极致丰富:内置上千种界面组件(按钮、输入框、表格、图表等),支持网络、数据库、多线程、动画、文件操作等全场景功能
  3. 3. 可视化开发:支持 Qt Designer 拖拽生成界面,无需手写全部布局代码
  4. 4. 性能优异:底层基于 C++ 实现,运行速度远快于纯 Python GUI 框架
  5. 5. 生态完善:教程、文档、第三方组件齐全,遇到问题极易解决

3. PyQt6 适用场景

  • • 桌面小工具(文件处理、数据统计、自动化工具)
  • • 商业客户端软件
  • • 工业控制、数据分析可视化界面
  • • 游戏启动器、多媒体工具

三、PyQt6 主要模块与核心类

PyQt6 采用模块化设计,不同功能对应独立模块,常用模块和核心类如下:

1. 核心模块(必学)

(1) PyQt6.QtWidgets

最核心模块:提供所有桌面界面的基础组件,90% 的开发都依赖它。核心类:

  • • QMainWindow:主窗口类(创建软件主界面)
  • • QWidget:基础控件类(所有界面组件的父类)
  • • QPushButton:按钮控件
  • • QLabel:文本/图片标签
  • • QLineEdit:单行输入框
  • • QTextEdit:多行文本编辑框
  • • QCheckBox:复选框
  • • QRadioButton:单选按钮
  • • QComboBox:下拉选择框
  • • QTableWidget:表格控件
  • • QMessageBox:弹窗提示框

(2) PyQt6.QtGui

负责界面渲染、绘图、字体、图标、图片等视觉相关功能。核心类:

  • • QFont:设置字体样式
  • • QPixmap:图片加载/显示
  • • QIcon:窗口/控件图标
  • • QColor:颜色设置

(3) PyQt6.QtCore

提供非 GUI 核心功能(底层工具、时间、线程、信号槽等)。核心类:

  • • QObject:PyQt6 所有类的基类
  • • pyqtSignal:信号槽(实现控件交互,比如点击按钮触发函数)
  • • QTimer:定时器
  • • QDateTime:时间处理
  • • Qt:枚举常量(对齐方式、按键、方向等)

2. 常用扩展模块

  • • PyQt6.QtNetwork:网络请求、TCP/UDP 通信
  • • PyQt6.QtSql:数据库操作(MySQL、SQLite 等)
  • • PyQt6.QtMultimedia:音频/视频播放
  • • PyQt6.QtCharts:图表绘制(折线图、柱状图等)

3. PyQt6 核心机制:信号与槽

这是 PyQt6 最关键的设计模式:信号 = 控件动作(如点击按钮、输入文字),槽 = 处理函数(信号触发后执行的代码)。示例:点击按钮 → 触发 clicked 信号 → 执行自定义的处理函数。

四、PyQt6 开发环境搭建(超简单)

1. 环境前提

已安装 Python 3.7 及以上版本(你学习基础时已配置,直接用即可)。

2. 安装 PyQt6

打开 命令提示符(CMD)/终端,执行一行命令完成安装:

pip install pyqt6
  • • 国内网络慢的话,用清华镜像加速:
    pip install pyqt6 -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 安装可视化设计工具(可选,强烈推荐)

Qt Designer 是拖拽式界面设计器,无需手写代码布局,安装命令:

pip install pyqt6-tools

4. 验证环境是否搭建成功

  1. 1. 新建 Python 文件(如 test_pyqt6.py)
  2. 2. 写入以下测试代码:
# 导入 PyQt6 核心模块import sysfrom PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton# 1. 创建应用实例(必须)app = QApplication(sys.argv)# 2. 创建主窗口window = QMainWindow()window.setWindowTitle("我的第一个 PyQt6 窗口")  # 窗口标题window.resize(400, 300)  # 窗口大小:宽400,高300# 3. 添加按钮控件btn = QPushButton("点击我", window)btn.move(150, 100)  # 按钮位置# 4. 显示窗口window.show()# 5. 启动程序循环sys.exit(app.exec())
  1. 3. 运行代码,若弹出一个带按钮的窗口,说明环境搭建成功!

总结

  1. 1. Python GUI 框架中,PyQt6 是功能最强、最适合进阶学习的选择;
  2. 2. PyQt6 核心三大模块:QtWidgets(界面控件)、QtGui(视觉渲染)、QtCore(底层工具);
  3. 3. 核心机制是信号与槽,实现控件交互;
  4. 4. 环境搭建只需一行 pip install pyqt6,运行测试代码即可验证。

接下来你就可以基于这个基础,开始编写真正的 PyQt6 桌面应用啦!

书山有路勤为径 学海无涯苦作舟,今天依旧是收获满满的一天

鼠标拖尾效果增强版 使用PySide6优化了|颜值与实用性拉满,操作超简单!
Python 实用算法与语法糖
Python学习第14天: 数据库访问(SQLite)完整学习笔记

最新文章

随机文章