PyQt5入门指南:环境搭建与第一个桌面程序(超详细图文版)
哈喽,各位想入门GUI开发的小伙伴们~ 我是字节曜编辑寒烟似雪,今天开始,我们正式开启PyQt5从入门到精通的系列之旅!作为系列的第一篇,我会用最细致的步骤,带大家搞定PyQt5的环境搭建,并且写出第一个属于自己的桌面程序。全程无废话、无跳步,零基础也能轻松跟上,遇到问题还会附上排查方案,放心往下看~
一、先搞懂:什么是PyQt5?为什么选它做GUI开发?
在动手之前,先简单了解下我们要学的工具:
PyQt5是Qt框架的Python绑定版本,Qt是一款跨平台的C++图形用户界面开发框架,支持Windows、macOS、Linux等多个系统。简单说,PyQt5就是让我们能用Python这种简单易懂的语言,开发出专业、美观且能在多系统运行的桌面应用(比如办公软件、小游戏、数据可视化工具等)。
选择PyQt5的3个核心理由:
- 跨平台:写一次代码,多系统直接运行,不用重复开发;
- 功能强大:自带丰富的控件(按钮、表格、对话框等),满足大部分GUI开发需求;
- 学习成本低:结合Python的简洁语法,比直接学Qt(C++)门槛低很多,适合新手入门。
适用场景:桌面应用开发(如文本编辑器、数据管理工具、本地小工具等),不适合开发网页或手机APP哦~
二、环境搭建:3大系统(Windows/macOS/Linux)详细步骤
环境搭建是入门的第一步,也是最容易踩坑的一步。这里分三个系统详细说明,你根据自己的电脑系统对应操作即可。核心准备:先安装Python,再安装PyQt5及配套工具包。
1. 前置准备:安装Python(所有系统通用)
PyQt5需要依赖Python环境,建议安装Python 3.7-3.10版本(兼容性最好,太高版本可能存在部分依赖包不支持的问题)。
步骤:
- 访问Python官方下载地址:https://www.python.org/downloads/(无需科学上网,但是慢,可用阿里云镜像:https://mirrors.aliyun.com/python-release/,选择你的系统后选择版本即可);

- 根据系统选择对应版本:Windows选“Windows Installer (64-bit)”,macOS选“macOS 64-bit universal2 installer”,Linux可通过系统自带软件商店安装;
- 安装注意事项:
- Windows系统:一定要勾选“Add Python 3.x to PATH”(自动配置环境变量,否则后续需手动配置,新手容易忘),然后点击“Install Now”默认安装即可;
- macOS/Linux系统:默认安装即可,安装完成后可通过终端输入命令验证。
- 验证Python是否安装成功:
打开终端(Windows按Win+R输入cmd,macOS按Command+空格输入terminal,Linux直接打开终端),输入以下命令:python --version # 或 python3 --version(macOS/Linux可能需要用python3)如果显示类似“Python 3.9.7”的版本号,说明安装成功;如果提示“不是内部或外部命令”,则是环境变量未配置好(Windows可重新运行安装包,勾选Add to PATH后修复安装)。


2. 安装PyQt5及工具包(所有系统通用)
Python安装完成后,通过pip命令安装PyQt5核心包和配套工具包(pyqt5-tools包含Qt Designer可视化设计工具,后续做界面会用到,建议一起安装)。
步骤:
- 打开终端,输入以下安装命令(Windows/macOS/Linux通用):
pip install pyqt5 - 等待安装完成:网络正常的情况下,几分钟即可安装完成。如果安装速度慢,可切换国内镜像源(推荐阿里云),命令如下:
- 验证是否安装成功:
在终端输入python(或python3),进入Python交互式环境,输入以下命令:
import sys
from PyQt5.QtWidgets import QWidget # 导入PyQt5的核心控件
print("导入成功")如果没有报错,显示“导入成功”,说明PyQt5安装成功;如果报错,参考下方“常见问题排查”部分。
3. 环境搭建常见问题排查
新手在安装过程中容易遇到以下问题,提前整理好解决方案,遇到直接对应排查:
- 问题1:Windows系统安装pyqt5-tools失败,提示“error: Microsoft Visual C++ 14.0 or greater is required...”
解决方案:需要安装Microsoft Visual C++ Build Tools。访问微软官网下载:https://visualstudio.microsoft.com/visual-cpp-build-tools/,勾选“Desktop development with C++”,点击安装(无需安装完整的Visual Studio,仅安装工具集即可),安装完成后重新执行pip安装命令。 - 问题2:导入PyQt5时提示“ModuleNotFoundError: No module named 'PyQt5'”
解决方案:① 检查是否用错了Python版本(比如安装了Python3.9,但终端用的是python2),尝试用python3导入;② 检查pip是否对应正确的Python版本,Windows可输入“pip --version”查看,确保pip的路径是Python安装目录下的Scripts文件夹;③ 重新执行安装命令,加上--user参数:pip install pyqt5 pyqt5-tools --user。 - 问题3:macOS/Linux系统安装后,无法打开Qt Designer
解决方案:macOS/Linux系统的pyqt5-tools可能需要手动查找Designer路径,后续在讲解Qt Designer使用时会详细说明,此处先确保PyQt5能正常导入即可。
三、编写第一个PyQt5程序:Hello World窗口
环境搭建完成后,我们来写第一个程序——一个简单的“Hello World”窗口,感受一下PyQt5的魅力~ 这里用纯代码编写(后续会讲可视化设计工具),每一行代码都加详细注释,方便理解。
1. 步骤:新建文件并编写代码
- 新建一个文本文件,重命名为“first_pyqt5.py”(注意后缀名是.py,不是.txt,Windows系统要确保显示文件后缀名);
用记事本、VS Code、PyCharm等编辑器打开文件,粘贴以下代码(建议手动敲一遍,加深记忆):
# 导入必要的模块 import sys # 导入PyQt5基础窗口相关控件 from PyQt5.QtWidgets import QApplication, QWidget if __name__ == "__main__": # 1. 创建应用程序实例(PyQt5程序必须有且仅有一个) app = QApplication(sys.argv) # 2. 创建基础窗口实例 window = QWidget() # 3. 设置窗口属性 window.setWindowTitle("我的第一个PyQt5程序") # 窗口标题 window.resize(400, 300) # 窗口大小:宽400px,高300px window.move(500, 200) # 窗口位置:距离屏幕左侧500px,顶部200px # 4. 显示窗口(默认隐藏,需手动调用show()) window.show() # 5. 启动应用主循环,确保程序正常退出 sys.exit(app.exec_())2. 运行程序
运行方式有2种,新手推荐第一种:
- 通过终端运行:
- 打开终端,切换到“first_pyqt5.py”文件所在的目录(比如文件放在桌面,Windows输入“cd Desktop”,macOS/Linux输入“cd ~/Desktop”);
- 输入运行命令:
python first_pyqt5.py - 如果没有报错,会弹出一个标题为“我的第一个PyQt5程序”的窗口,说明运行成功!
- 用编辑器运行:如果用VS Code或PyCharm,直接点击编辑器右上角的“运行”按钮即可(需要确保编辑器已选择正确的Python解释器)。


四、第一个程序运行原理解析
可能有小伙伴会疑惑,上面几行代码为什么能实现窗口?这里拆解核心逻辑,帮大家理解PyQt5程序的运行流程:
- QApplication(应用程序对象):每个PyQt5程序都必须有且只有一个应用程序对象,它负责管理程序的所有资源(如事件循环、窗口、控件等),sys.argv是为了让程序能接收命令行参数,简单程序也可以传空列表[]。
- QWidget(窗口对象):这是PyQt5的基础窗口控件,所有的UI元素(按钮、标签等)都基于它。我们创建它的实例,就相当于创建了一个空白窗口。
- 窗口属性设置:setWindowTitle(标题)、resize(大小)、move(位置)都是QWidget的方法,用于自定义窗口样式,这些方法也可以省略,此时会显示默认大小和标题的窗口。
- show()方法:PyQt5的窗口默认是隐藏状态,必须调用show()方法才能显示出来。
- 主循环(exec_()):这是程序的核心,启动后程序会进入“等待状态”,不断监听用户的操作(比如点击窗口、关闭窗口),并做出响应。sys.exit()确保程序关闭时能正确释放资源,避免内存泄漏。
简单总结流程:创建应用程序对象 → 创建窗口对象 → 设置窗口属性 → 显示窗口 → 启动主循环响应用户操作。
五、拓展:修改窗口,添加简单交互(可选)
如果觉得空白窗口太单调,可以简单修改代码,给窗口添加一个标签(显示“Hello World!”),代码如下(在原有代码基础上修改,新增部分标红):
import sys
# 新增导入QLabel(标签控件)
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
if __name__ == "__main__":
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("我的第一个PyQt5程序")
window.resize(400, 300)
window.move(500, 200)
# 新增:创建标签控件,父对象是window(表示标签放在这个窗口里)
label = QLabel("Hello World!", window)
# 设置标签的位置和大小(距离窗口左侧150像素,顶部130像素,宽100像素,高40像素)
label.setGeometry(150, 130, 100, 40)
window.show()
sys.exit(app.exec_())运行修改后的代码,窗口中会显示“Hello World!”文字,是不是更有成就感啦~ 这里的QLabel就是PyQt5的基础控件之一,后续我们会详细讲解各种控件的使用。

六、总结
本篇我们完成了PyQt5入门的核心第一步:
- 了解了PyQt5的基本概念和优势;
- 完成了Windows/macOS/Linux三大系统的环境搭建(Python + PyQt5 + pyqt5-tools);
- 编写并运行了第一个PyQt5窗口程序,理解了程序的运行原理;
- 拓展添加了标签控件,实现简单的文字显示。
下一篇我们会深入学习QWidget基础窗口的更多属性设置,以及布局管理器的使用,解决控件排列混乱的问题。如果在环境搭建或程序运行过程中遇到问题,欢迎在评论区留言讨论~