文章目录
引言
QT是非常流行的跨平台GUI界面库,C++编写,同时支持python bindings。
利用PyQt5的强大GUI界面交互功能,结合Python编程中强大的科学计算和数据可视化,可以开发出非常漂亮、专业的GUI应用程序。在目标检测任务里常用的labelme工具,就是用基于python语言的PyQt编写的。
1. 安装python环境
本文采用conda来管理虚拟环境,anaconda包含了大量的科学包和依赖库,可以帮我们把基础依赖库安装好,便于快速上手。
1.1 安装anaconda
anaconda下载地址:
https://www.anaconda.com/products/individual#Downloads
根据操作系统,选择合适的压缩包:
双击下载完的压缩包(如Anaconda3-2021.05-Windows-x86_64.exe),设置安装路径,并点击Next,直至完成安装:
1.2 创建虚拟环境
安装完anaconda之后,启动anaconda prompt命令窗口,创建一个名为pyqt的虚拟环境。
$ conda create -n pyqt
激活虚拟环境,以后PyQt相关的依赖库都装在这个虚拟环境中,避免和其他应用的依赖库发生冲突。
$ conda activate pyqt
如果要退出pyqt虚拟环境,使用以下语句:
$ conda deactivate
注意:
如果提示python.exe无法定位程序输入点 ...C:\WINDOWS\SYSTEM32\pythoncom38.dll
,可以尝试这个链接的方案: https://yunyaniu.blog.csdn.net/article/details/103557501
2. 安装PyQt库
如果没有pip,先安装下pip工具:
conda install pip
利用pip安装PyQt库:
pip3 install PyQt5
# 安装后输出 Successfully installed PyQt5-5.15.4 PyQt5-Qt5-5.15.2 PyQt5-sip-12.9.0
pip3 install pyqt5-tools
# 安装后输出 Successfully installed click-7.1.2 pyqt5-plugins-5.15.4.2.2 pyqt5-tools-5.15.4.3.2 python-dotenv-0.19.0 qt5-applications-5.15.2.2.2 qt5-tools-5.15.2.1.2
安装完成后,在...\anaconda3\envs\pyqt\Scripts
路径下可以看到pyuic5、pyrcc5、pylupdate5几个可执行文件1:
- pyuic5.exe 是用于将Qt Designer(或Qt Creator内置的UI Designer)可视化设计的界面文件(.ui文件)编译转换为Python程序文件的工具软件,是使用PyQt5设计GUI程序最常用到的工具软件。
- pyrcc5.exe 是用于将Qt Creator里设计的资源文件(.qrc文件)编译转换为Python程序文件的工具软件,资源文件一般存储了图标、图片等UI设计资源。
- pylupdate5.exe 是用于多语言界面设计时编辑语言资源文件的工具软件。
3. 安装pycharm
本文采用pycharm作为开发工具。pycharm是一个功能非常强大的python交互式开发环境:
下载免费社区版:
https://www.jetbrains.com/pycharm/download/#section=windows
4. 在pycharm中配置PyQt
4.1 配置PyQt环境
创建新项目,使用conda环境,并选择pyqt环境下的python.exe:
4.2 添加Qt Designer可视化工具
Qt Creator可以用于C++界面开发,也可以用于设计ui文件,但是安装文件较大。如果只用python API的话,可以仅在pycharm中安装Qt Designer扩展工具,来进行界面ui设计。
打开File——Settings——Tools——External Tools
,点击“+”按钮,并填下以下信息:
- Name填写QtDesigner
- Program中填写designer.exe的绝对路径(可以在\anaconda3\的路径下查找下,有时候安装的位置不相同)
- Working directory填写当前项目路径
然后点击“Apply”、“OK”,完成设置。
此时,从Tools——External Tools
中可以找到designer:
4.3 利用Qt Designer可视化工具创建ui文件
从Tools——External Tools——QtDesigner
,可以启动designer.exe程序:
选择“Widget”创建一个部件,并从左侧Widget Box中拖动Label、Text Edit、Push Button控件完成一个部件设计,并保存这个ui设计文件。
用文本类编辑器打开*.ui文件,可以看到 ui文件实际是以xml格式保存了界面布局和控件属性:
4.4 添加PyUIC工具
打开File——Settings——Tools——External Tools
,点击“+”按钮,并填下以下信息:
- Name填写PyUIC
- Program中填写pyuic5.exe的绝对路径(可以在\anaconda3\evns\xxx的路径下查找下)
- Arguments中填写
$FilePath$ -o $FileDir$\$FileNameWithoutExtension$_ui.py
,用于在ui文件的同级目录下生成对应的py文件 - Working directory填写pyuic5.exe所在的文件夹路径
完成pyuic5.exe工具的配置。
4.5 利用PyUIC生成界面代码
pyuic5.exe 是用于将Qt Designer(或Qt Creator内置的UI Designer)可视化设计的界面文件(.ui文件)编译转换为Python程序文件的工具软件,是使用PyQt5设计GUI程序最常用到的工具软件1。
在pycharm的文件夹中,在刚刚创建的*.ui文件上右键,选择External Tools——PyUIC
,就会在同路径下生成ui文件对应的py实现。
打开pyuic5工具生成的py文件,可以看到刚刚设计的界面生成的代码实现。
代码头部的注释中指出,该文件是由PyQt5 UI code generator 5.15.4 创建的。
我们既可以基于上面生成好的代码,直接添加业务逻辑,也可以另外写一个类,将这个ui实现的类绑定到业务逻辑对象中,后文会详细进行介绍。
5. 小结
本文详细介绍了在windows下创建PyQt应用程序的环境配置、基础步骤。
- 首先,基于Anaconda创建了python虚拟环境,并在虚拟环境中安装PyQt5库。
- 然后,在PyCharm软件中配置了Qt Designer可视化工具、pyuic代码生成工具。
- 最后,利用Qt Designer、pyuic工具实现界面设计和代码生成,为后续PyQt的GUI应用程序开发搭建环境。