2024最新PyQt5及其工具(Qt Designer、PyUIC、PyRcc)手把手操作实践指南
前言
最近做了一些个人项目,内部逻辑还是挺多的,而且也有想要开源的想法,但是总不能直接把源码端给大家直接运行,有一些需求还有萌新小白用得上的,所以还得做一个可视化的UI。想了想能够通过Python建立的UI工具,在我印象中有PyQt5和tkinter这两个还算常见,wxPython没见过几个人用过,所有还是打算写一个PyQt5的教程入门文章带大家操作实践一下PyQt5的用法。之前网页或者博客很多篇都是PyQt5没有分离plugins,还有几个坑要注意一下。
1.PyQt工具包
PyQt5简述
PyQt5是一个创建图形用户界面(GUI)应用程序的工具集。它是Qt库的Python绑定之一,Qt库是一套跨平台的C++库,广泛用于开发GUI应用以及非GUI应用的编程工具。PyQt5支持多种操作系统,包括Windows、macOS、Linux等,使得用它开发的应用可以在这些平台上无缝运行。一般在嵌入式设备使用可视化UI大部分是PyQt5,PyQt5还提供了许多高级功能,如图形和动画支持、数据库交互、网络编程等。
PyQt5-tools简述
PyQt5-tools
是一个与 PyQt5 配合使用的工具集,它提供了一系列有助于开发 PyQt5 应用程序的工具和组件。这个工具集的主要作用是简化开发流程、提高效率,并帮助创建更加专业和美观的用户界面。
Qt Designer
功能:Qt Designer 是一个拖放式界面设计工具,允许开发者以可视化的方式创建和布局窗口和对话框,而无需编写代码。使用 Qt Designer,可以快速设计复杂的界面,并生成一个 XML 文件(.ui 文件),这个文件后续可以在 PyQt5 程序中加载或转换为 Python 代码。
pyuic 和 pyrcc
pyuic 是一个命令行工具,用于将 Qt Designer 生成的 .ui 文件转换成 Python 代码。pyrcc 用于处理 Qt 资源文件(如图片),将它们转换成 Python 可以使用的模块。这些工具使得将设计和资源无缝集成到 PyQt5 应用程序中变得更加简单。
2.工具包安装
首先安装PyQt5:
pip install PyQt5 -i https://pypi.douban.com/simple
安装常用的pyqt工具库 PyQt5-tools:
pip install PyQt5-tools -i https://pypi.douban.com/simple
安装完检查一下是否安装到了想要的Python运行环境下面:
除此之外,由于新版的PyQt5的plugins分离出去了,还需要安装一下pyqt5_plugins。
pip install PyQt5-plugins
3.环境配置
我们要让系统能够找到对应指令就得将文件运行路径放到环境变量里面去:
1.添加pyqt5-tools
2.新建QT_PLUGIN_PATH
在环境变量界面中点击“新建”,在系统环境变量中新建名为“QT_PLUGIN_PATH”的变量:
\Lib\site-packages\PyQt5\Qt5\plugins
需根据实际情况修改。以上两步环境变量设置完成,现在需要在Pycharm设置工具。
4.Pycharm工具设置
Qt Designer
点击菜单栏文件,弹出下拉框,选择设置。在设置界面中选择“Tools”→“External Tools”,该部分操作如下图所示:
点击“加号”按钮新建工具,弹出工具配置界面:
其中\Lib\site-packages\QtDesigner\designer.exe为我们要填写的程序,工作目录为:
$FileDir$
PyUIC
同样按照以上方式添加PyUIC工具,点击“加号”按钮,在弹出的编辑设置框中Name一栏填写“PyUIC”;
程序在下载的Python环境下的Scripts目录下面,其中实参为:
$FileName$
-o
$FileNameWithoutExtension$.py
PyRcc
PyRcc工具的配置方式与PyUIC相似:
实参为:
$FileName$
-o
$FileNameWithoutExtension$_rc.py
设置完成后简单演示一下如何使用,首先打开或新建一个项目,按一下展示点击工具栏的External Tools,可以看到我们之前设定的三个工具:
打开QT-Designer可以进入到QT设计页面:
具体如何对Qt页面编辑以及左边菜单栏的操作我们不展开详细描述,后面博主将会出一系列专门的文章讲解Qt开发。这里再讲述一下我们保存好的UI文件和qrc文件该如何转化为python代码。
5.程序转化
在PyCharm中选中保存的ui文件,使用“Tools”下的“External Tools”中的“PyUIC”工具将该文件转换为需要的py文件:
同理PyRcc工具将该资源文件转换为需要的py文件。
使用“Tools”下的“External Tools”中的“PyUIC”工具将该文件转换为需要的py文件:
同理PyRcc工具将该资源文件转换为需要的py文件。