前言
在大学学过Qt,Qt 是一个强大的框架,可以用来快速搭建Python程序的图形用户界面(GUI)。在Python项目中,通常使用PyQt5或PySide这两个库来实现,因此一些毕设项目、大作业和科研项目都需要搭建可视化界面来展示,方便用户操作。接下来我将手把手教你在PyCharm配置PySide6和QtDesigner。
- PyQt5: 使用的是 GPL或者商业许可证。如果使用闭源,则需要购买商业许可证,一般学术研究也不用吧,在公司用可能需要购买许可证,所以我更推荐使用PySide6。
- PySide6: 使用的是 LGPL, 网上的参考资料如下:
一、安装pycharm和Anaconda3
pycharm安装教程链接: 手把书教你安装2024最新的PyCharm和激活PyCharm,并汉化最新的PyCharm
Anaconda3安装教程链接: 手把手教你安装Anaconda3
如果已经安装了pycharm和Anaconda3可以忽略这个步骤
二、PySide6安装
使用Anaconda3的终端安装PySide6,安装命令如下:
pip install PySide6
- 1
三、Pycharm配置PySide6和QtDesigner
1. 配置QtDesigner工具
打开Pycharm,文件->设置->工具->外部工具->+号
名称填:
QtDesigner
- 1
组填:
PySide6
- 1
实参:
留空
工作目录填(必填):
$FileDir$
- 1
程序这行:
找你们电脑安装Anaconda的路径找就行,不要填我的路径,我的路径跟你们的路径不一样,我的路径是
D:\1-ProgramFiles\Anaconda\Library\bin,然后找到 designer.exe 文件,全局搜索这个程序所在的路径就行,任意一个就行
desigser.exe 文件在你的安装Anaconda目录里面找
之后点击确定就行
2. 配置ui文件转python程序工具
继续点击 + 号
pyside6-uic 工具用于将 Qt Designer 生成的 .ui 文件转换为 Python 代码
找到 pyside6-uic.exe 即可,如下图:
名称填:
pyside6-uic
- 1
组填:
PySide6
- 1
程序这行填(必填):
找你们电脑安装Anaconda的路径找就行,不要填我的路径,我的路径跟你们的路径不一样,我的路径是
D:\1-ProgramFiles\Anaconda\Scripts,然后找到 pyside6-uic.exe 文件
实参填(必填):
$FileName$ -o $FileNameWithoutExtension$.py
- 1
工作目录填(必填):
$FileDir$
- 1
之后点击确定就行
3. 配置静态文件转成Python模块
继续点击 + 号
pyside6-rcc 用于将Qt的资源文件(.qrc 文件)编译成 Python 模块,这些资源文件通常包含图像、图标、样式表等静态文件,可以用来行界面美化等功能。
名称填:
pyside6-rcc
- 1
组填:
PySide6
- 1
程序这行填(必填):
找你们电脑安装Anaconda的路径找就行,不要填我的路径,我的路径跟你们的路径不一样,我的路径是
D:\1-ProgramFiles\Anaconda\Scripts,然后找到pyrcc5.exe文件
实参填(必填):
$FileName$ -o $FileNameWithoutExtension$_rc.py
- 1
工作目录填(必填):
$FileDir$
- 1
最后点击确定
四、测试
1. 测试QtDesigner工具是否能打开
已经成功打开了
2. 测试.ui文件转python文件是否成功
在QtDesigner随便设计一个界面,保存生成.ui文件
选择 ui 文件直接点击自动转换
可以看到转换后的文件使用的是 PySide6 这个库,那么就成功啦
五、课外小知识
PyQt5 和 PySide6 都可以使用 Qt Designer 来设计图形界面,我配置 PyQt5 和 PySide6 都指向同一个 designer.exe 文件,因为 Qt Designer 是 Qt 提供的一个 GUI 设计工具,无论你是使用 PyQt5 还是 PySide6,设计的 .ui 文件是一样的,都是基于 Qt 的 .ui 格式文件,只是转换时候不一样而已。
可以看我之前的一期教程:
我们不妨把 u i文件使用 PyQt5 进行转换看看:
可以看到导入的库不一样,只是后续界面实现的代码两者略微不同而已,大家可以参考官网的教程或者网上教程都行,问题不是很大。基于 PySide6 的协议,后续我也会使用 PySide6 开发后端程序。
总结
参考链接: 请教PyQt5 、PyQt6、Pysider6,三者有什么不同?有什么优缺点啊?
创造不易,对你有帮助帮忙点个小爱心,谢谢



评论记录:
回复评论: