简介
我们之前介绍过使用tkinter
创建图形用户界面(GUI)应用程序,现在我们来介绍另外一个用于创建GUI的神器——pyQt5
,它可以用于创建跨平台的桌面应用程序。PyQt5 实现了一个 Python模块集,有 620 个类,6000 个函数和方法。PyQt5 有以下优点:简单好用,功能强大, 跨平台支持,文档齐全,稳定性高,生态支持,开源免费。在本文中,我们将介绍提供PyQt5安装和配置指南,以确保我们能够顺利开始开发GUI应用程序。
安装PyQt5
我们可以直接使用pip命令安装PyQt5,命令如下:
代码语言:javascript复制pip install pyqt5
安装完成后,我们就可以开始编写我们的程序,检验我们的安装是否成功,脚本如下:
代码语言:javascript复制from PyQt5 import QtWidgets
import sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv) # 初始化界面
MainWindow = QtWidgets.QWidget() # 生成一个主窗口
MainWindow.show() # 显示主窗口
sys.exit(app.exec_()) # 在主线程中退出
运行脚本,会出现如下的界面:
出现如下页面,即表示我们安装成功。
安装QtTools
虽然安装PyQt5
后,我们已经可以开始编写GUI程序,但是调试修改会比较繁琐,我们可以安装QtTools,来方便我们去修改我们的程序,方便我们的工作。
Qt Tools 包含了两个重要的工具:
- Qt Designer:图形界面设计工具,用于设计图形界面,生成 .ui文件,以 xml 格式存储界面和控件的属性
- PyUic:UI 文件转换工具,用于将 .ui 文件解析为 .py 文件
安装命令如下:
代码语言:javascript复制pip install pyqt5-tools
配置QtDesigner 和 PyUIC
基本上所有的Pythoner都是使用pycharm来进行Python的项目开发的,我们还可以在pycharm中对QtDesigner
和 PyUIC
进行环境配置,将其集成到 PyCharm 中。现在我们来介绍一下配置步骤:
- 在 PyCharm 添加 Create Tools
- 运行
PyCharm
; - 从顶部菜单栏选择:
File -> Settings
,弹出Seetings
窗口; - 从左侧菜单栏中选择:
Tools -> ExternalTools
,在右侧点击 “ ” 弹出CreateTool
窗口;
- 添加 QtDesigner 工具
CreateTool 窗口依次填写:
- Name:填写 “QtDesigner”
- Program:填写
designer.exe
的路径,如我这里填写的C:xxxxxxxxxPycharmProjectsqt5_projectvenvLibsite-packagesqt5_applicationsQtbindesigner.exe
注:填写的designer.exe
是我们之前使用pip
命令安装的pyqt5-tools
的路径。
- Arguments:可以留空
- Working directory:生成 UI 文件的保存路径,要将 .ui 文件保存在当前 Project 的路径下,则填写 “ProjectFileDir”;要将 .ui 文件保存在当前 Project 路径下的 program 子目录中,则填写 “ProjectFileDirprogram”。
填写如下图:
点击OK即可完成添加。
- 添加 PyUIC 工具
在 CreateTool 窗口依次填写:
- Name:填写 “PyUIC”
- Program:填写 python.exe 的路径,例如:
D:xxxxxxxxxxxPycharmProjectsqt5_projectvenvScriptspython.exe
此处填写的是我项目的Python解释器路径
- Arguments:填写"-m PyQt5.uic.pyuic FileNameWithoutExtension.py”
- Working directory:填写将 .ui 文件转换为 .py 文件的保存路径,要将 .py 文件保存在当前 Project 的路径下,则填写 “ProjectFileDir”;要将 .py 文件保存在当前 Project 路径下的program 子目录中,则填写 “ProjectFileDirprogram”。
填好 CreateTool 窗口后,点击 “OK” 即可完成 QtDesigner 工具的添加。
总结
本文主要介绍了PyQt5的安装和配置,后续我们将详细介绍使用PyQt5进行GUI的开发。