前面我们已经完成了 Python 基础学习,今天开始学习进入 GUI(图形用户界面) 学习阶段!现在我先梳理 Python 主流 GUI 技术,再详细说一下我们要重点学习的 PyQt6,包括框架介绍、核心类/模块、环境搭建。
Python 生态中有多种 GUI 开发框架,适合不同场景,下面是最常用的几种对比:
| PyQt6 | |||
我们选择学习 PyQt6 的原因:功能最全面、社区资源最多、企业使用率最高,学会后能开发各类专业桌面软件,是 Python GUI 开发的首选。

PyQt6 是 Qt 6 应用框架的 Python 绑定,Qt 是全球最流行的跨平台 C++ GUI 框架,PyQt6 让 Python 开发者可以直接调用 Qt 的所有功能,无需编写 C++ 代码。
PyQt6 采用模块化设计,不同功能对应独立模块,常用模块和核心类如下:


PyQt6.QtWidgets最核心模块:提供所有桌面界面的基础组件,90% 的开发都依赖它。核心类:
QMainWindow:主窗口类(创建软件主界面)QWidget:基础控件类(所有界面组件的父类)QPushButton:按钮控件QLabel:文本/图片标签QLineEdit:单行输入框QTextEdit:多行文本编辑框QCheckBox:复选框QRadioButton:单选按钮QComboBox:下拉选择框QTableWidget:表格控件QMessageBox:弹窗提示框PyQt6.QtGui负责界面渲染、绘图、字体、图标、图片等视觉相关功能。核心类:
QFont:设置字体样式QPixmap:图片加载/显示QIcon:窗口/控件图标QColor:颜色设置PyQt6.QtCore提供非 GUI 核心功能(底层工具、时间、线程、信号槽等)。核心类:
QObject:PyQt6 所有类的基类pyqtSignal:信号槽(实现控件交互,比如点击按钮触发函数)QTimer:定时器QDateTime:时间处理Qt:枚举常量(对齐方式、按键、方向等)PyQt6.QtNetwork:网络请求、TCP/UDP 通信PyQt6.QtSql:数据库操作(MySQL、SQLite 等)PyQt6.QtMultimedia:音频/视频播放PyQt6.QtCharts:图表绘制(折线图、柱状图等)这是 PyQt6 最关键的设计模式:信号 = 控件动作(如点击按钮、输入文字),槽 = 处理函数(信号触发后执行的代码)。示例:点击按钮 → 触发 clicked 信号 → 执行自定义的处理函数。
已安装 Python 3.7 及以上版本(你学习基础时已配置,直接用即可)。
打开 命令提示符(CMD)/终端,执行一行命令完成安装:
pip install pyqt6pip install pyqt6 -i https://pypi.tuna.tsinghua.edu.cn/simpleQt Designer 是拖拽式界面设计器,无需手写代码布局,安装命令:
pip install pyqt6-toolstest_pyqt6.py)# 导入 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())
QtWidgets(界面控件)、QtGui(视觉渲染)、QtCore(底层工具);pip install pyqt6,运行测试代码即可验证。接下来你就可以基于这个基础,开始编写真正的 PyQt6 桌面应用啦!