目录
1、安装PyQt6和pyqt6-tools
pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyQt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple
2、在Pycharm里配置Qt Designer
作用:通过Qt语言进行UI设计(支持拖拽式的UI设计)
打开Pycharm,按快捷键Ctrl+Atl+S,打开设置界面,然后在工具选项里找到外部工具,点击“+”号。
之后设置扩展模块名字,模块程序路径等。这里的Designer有两种配置方法。
首先讲解第一种:
Name: QTDesigner (可自定义)
Group: External Tools (可自定义)
Program: D:\Anaconda3\envs\pyqt6\Lib\site-packages\qt6_applications\Qt\bin\designer.exe (填自己Python目录下的)
Working directory:$FileDir$ (表示你在哪个文件夹打开的designer,生成的ui文件就在哪个文件夹。)
第二种:
仔细发现,我们与第一种配置方法有两处不同,第一处是Program,第二处是Arguments。这里Arguments的这个要注意,必须填designer。
Name: QTDesigner (可自定义)
Group: External Tools (可自定义)
Program: D:\Anaconda3\envs\pyqt6\Scripts\pyqt6-tools.exe (填自己Python目录下的)
Arguments: designer (必须填designer)
Working directory:$FileDir$ (表示你在哪个文件夹打开的designer,生成的ui文件就在哪个文件夹。)
3、配置Pyuic工具
作用:主要用来将QtDesigner生成的ui文件转化为py文件的工具。
同样再次点左上角的+号添加Pyuic。
同样,这里也有两种配置方法。
第一种配置方法:
Name: pyuic
Group: External Tools
Program: D:\Anaconda3\envs\pyqt6\Scripts\pyuic6.exe
Arguments: $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (生成的py文件和ui文件在同一目录。)
第二种:
这里的主要区别同样是Program和Arguments。
Name: pyuic
Group: External Tools
Program: D:\Anaconda3\envs\pyqt6\python.exe
Arguments: -m PyQt6.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$ (生成的py文件和ui文件在同一目录。)
4、配置Pyrcc工具
作用:主要用来将图片、数据文件资源打包成py文件。(删除图片后也可用)
需要注意的是,PyQt6没有提供Pyrcc工具。但是如我们需要,可以利用PyQt5的Pyrcc工具进行转换。只需将文件开头的 from PyQt5 import QtCore
替换为 from PyQt6 import QtCore
即可。
同样,我们也可以使用 PySide6 提供的 pyside6-rcc
工具来编译出 .py
文件,也是只需将文件开头的 from PySide6 import QtCore
替换为 from PyQt6 import QtCore
即可。
这里介绍一下PySide6,PySide6和PyQt6是两个用于创建Python应用程序的GUI工具包。它们都是基于Qt框架,并提供了类似的功能和API,但在使用和授权方面存在一些区别。
授权方式:PySide6是开源的,由Qt公司的父公司Digia维护。它使用LGPL授权,可以免费用于开发商业应用。PyQt6则由Riverbank Computing授权,并提供商业和GPL授权两种版本。
PySide6的安装和PyQt6类似(安装后就包括了QtDesigner工具):
pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple
PySide6的学习视频:哔哩哔哩
5、三个工具的作用
- QtDesigner:提供了一个可视化的用户界面(UI)设计功能,使用户能够拖拽式地在界面上构建和布置多个各种不同的控件,其支持的控件类型包括:窗口、标签、文本框、按钮以及其他常见的用户界面部件。使用QtDesigner设计生成的UI文件可以作为参数传递给PyUIC,用于生成Python代码文件。
- PyUIC:将QtDesigner代码转化成Python代码的工具,使用户在QtDesigner中以可视化方式设计生成的UI文件能够通过PyQt5库在Python程序中使用。通过PyUIC的转换,用户可以在Python程序中使用QtDesigner设计的UI文件,通过对UI控件的创建、组合和绑定方法等进一步编写逻辑实现更加复杂的交互功能。
- Pyrcc:将图片、数据文件资源打包成Py文件,是一种将资源文件打包的工具。在使用QtDesigner和PyUIC时,如果有需要将图像、声音、字体或其他数据文件打包成Py文件,也可以使用Pyrcc。使用Pyrcc,可以将外部数据文件打包成内置处理,使程序具有良好的可移植性,减少文件散乱与不易维护的问题。