今天是Python学习的第17天,开始学习GUI图形界面开发的学习,核心掌握两大内容:
PyQt6是Python最主流的GUI框架之一,基于Qt库开发,支持Windows、Mac、Linux跨平台,能快速开发专业的桌面应用。

在开始编写代码前,首先需要安装PyQt6库,打开命令提示符(CMD)/终端,执行以下命令:
# 安装PyQt6核心库pip install pyqt6# 安装Qt Designer工具(PyQt6-tools包含了可视化设计器)pip install pyqt6-tools安装完成后,我们就可以开始编写窗体代码了。
PyQt6创建窗体的固定流程:
PyQt6.QtWidgets模块(所有界面控件的基类)QApplication应用程序对象(管理GUI程序的主循环)QMainWindow/QWidget主窗体对象
# 1. 导入PyQt6核心模块import sysfrom PyQt6.QtWidgets import QApplication, QMainWindow# 2. 定义主窗体类(继承QMainWindow)classMyFirstWindow(QMainWindow):# 构造函数:初始化窗体def__init__(self):# 调用父类的构造函数super().__init__()# 初始化窗体设置self.init_window()# 自定义方法:配置窗体属性definit_window(self):# 设置窗体标题self.setWindowTitle("我的第一个PyQt6窗体")# 设置窗体大小(宽度, 高度)self.resize(600, 400)# 设置窗体起始位置(x坐标, y坐标)self.move(300, 200)# 可选:同时设置位置+大小 (x, y, 宽, 高)# self.setGeometry(300, 200, 600, 400)# 3. 程序主入口if __name__ == '__main__':# 创建应用程序对象,sys.argv是命令行参数 app = QApplication(sys.argv)# 创建自定义窗体实例 window = MyFirstWindow()# 显示窗体 window.show()# 启动程序的事件循环,关闭窗口时退出程序 sys.exit(app.exec())运行代码后,会弹出一个600×400大小、标题为我的第一个PyQt6窗体的空白桌面窗体,支持拖动、放大、缩小、关闭。
QApplication:每个PyQt6程序必须有且仅有一个该对象,负责处理程序初始化、界面渲染、事件响应。QMainWindow:PyQt6的主窗体类,自带菜单栏、工具栏、状态栏,是开发桌面应用最常用的窗体基类。self.setWindowTitle():设置窗体顶部标题。self.resize()/self.move():分别设置窗体大小和位置。window.show():必须调用该方法,否则窗体默认隐藏。app.exec():启动GUI程序的主事件循环,让程序持续运行,等待用户操作。Qt Designer是可视化拖拽式界面设计工具,无需手写大量界面代码,通过鼠标拖拽控件、修改属性,就能快速生成界面文件,极大提升开发效率。
.ui后缀的XML格式文件(存储界面布局和控件信息).ui文件转换为Python代码,即可在项目中调用Lib\site-packages\pyqt6_tools\bin文件夹designer.exe打开CMD/终端,直接输入命令:
pyqt6-tools designer回车后即可启动Qt Designer。
启动后,会弹出新建窗体对话框,常用窗体模板:

左侧面板:控件箱(所有可用的按钮、文本框、标签等控件)中间区域:设计画布(拖拽控件设计界面)右侧面板:

Main Window,点击创建Display Widgets -> QLabel(文本标签),拖拽到画布中央text:改为Hello PyQt6!font:调整字体大小为16号Buttons -> QPushButton(按钮),拖拽到标签下方text为点击我

文件 -> 保存first_ui.ui,保存到Python项目文件夹中Qt Designer生成的.ui文件不能直接运行,需要用pyuic6工具转换为.py文件。
打开CMD/终端,切换到.ui文件所在目录,执行:
# 格式:pyuic6 -o 输出的py文件名 原始的ui文件名pyuic6 -o first_ui.py first_ui.ui执行成功后,项目文件夹会生成first_ui.py文件,这就是界面对应的Python代码。
新建一个main.py文件,导入转换后的UI代码,运行窗体:
import sysfrom PyQt6.QtWidgets import QApplication, QMainWindow# 导入转换后的UI类from first_ui import Ui_MainWindow# 创建自定义窗体类,继承QMainWindow和UI类classMyWindow(QMainWindow, Ui_MainWindow):def__init__(self):super().__init__()# 加载UI界面self.setupUi(self)if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec())运行main.py,即可弹出我们在Qt Designer中设计的可视化界面。
QApplication+QMainWindow的固定创建流程,理解窗体基础属性设置。.ui文件,通过pyuic6转换为Python代码。今天是GUI开发的入门,后续我们会学习控件使用、事件绑定、布局管理,一步步开发出功能完整的桌面应用!