- PySide 6/PyQt 6快速开发与实战
- 孙洋洋等
- 1246字
- 2023-02-28 20:16:57
1.3 PySide 6快捷工具简介
PySide 6默认提供了很多Qt快捷工具,如Qt帮助工具pyside6-assistant.exe、将.ui文件转换为.py文件的工具pyside6-uic.exe和资源管理工具pyside6-rcc.exe等,在安装好这些工具之后就可以直接使用,如图1-19所示。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_38_1.jpg?sign=1739132593-9hHJEKrEnCwpWwwo5GPlSKSYkROkzoeF-0-32b8f39db0c3d9407929b4ba0240ede5)
图1-19
那么如何使用这些快捷工具呢?可以先通过“开始菜单”→Anaconda3(64-bit)→Anaconda Prompt(miniconda3)快捷方式进入Conda环境,然后通过命令行打开。如果在安装Miniconda时勾选了“设置系统Python环境”复选框,则可以直接双击文件打开,也可以在任意位置通过命令行打开。
1.3.1 Qt Designer
Qt Designer就是我们常说的Qt设计师。它是一个可视化的代码生成器,有一个GUI界面,如图1-20所示。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_38_2.jpg?sign=1739132593-ZjogoL6MtvBLmEyJ6wx7ZjoQ28XSuQ2h-0-53c5a9f6a55d976e33778af2a8163144)
图1-20
在搭建好Anaconda环境之后,既可以通过双击pyside6-designer.exe文件直接打开,也可以通过如下命令打开:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_39_1.jpg?sign=1739132593-g0Pqu0aCHyaVbi0QbNqo7DQCyrRNsy1W-0-bcb52ee7f9132629ade69683ff879d01)
打开Chapter02\layoutWin.ui文件,效果如图1-21所示,可以通过可视化的方式对该文件进行编辑。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_39_2.jpg?sign=1739132593-gI1bdhmG9pGeB7wBIsGmAN1E9Ah2UmTq-0-f0f6dbb0fb44b052aa6b01aed8375d63)
图1-21
1.3.2 Qt用户交互编译器
上面介绍了如何通过可视化的方式生成.ui文件,但是我们最终需要的是.py文件,这就需要使用Qt的uic.exe工具。这个工具在PySide 6上对应pyside6-uic.exe,作用是把.ui文件转换为.py文件,但其没有GUI,只能通过命令行使用,使用方式如下:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_39_3.jpg?sign=1739132593-94hwcDmS1T9SMg77wgxVjnZrEPtIOHyb-0-5a7271b371891713a1ac56a1f388e4a9)
1.3.3 Qt资源编译器
pyside6-rcc.exe是PySide 6提供的资源编译工具,作用是把一些.qrc文件(包含图片等资源)编译成.py文件。如下所示,下面任意一行代码都可以把test.qrc文件转换为test_rc.py文件,以方便Python直接调用(这样做的好处是test_rc.py文件已经包含图片资源,可以直接使用,不受原始图片位置变更的影响):
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_39_4.jpg?sign=1739132593-EOHjfacCQKD0minTMbDS5dSkJUhJCVxu-0-6efcbe0e30ad510b61f16bd1c199e26c)
1.3.4 Qt帮助文档
pyside6-assistant.exe是PySide 6的帮助文档,来源于Qt 6的帮助文档。其界面如图1-22所示。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_40_1.jpg?sign=1739132593-LWDIaVmWbNtDqjHVlMmYernNPPl05ONS-0-4ef23e2dba162d43b25a816cb106079d)
图1-22
该帮助文档对PySide 6的介绍非常详细,也非常全面,读者在学习PySide 6中的每个模块时都可以通过这个工具查到。可以通过双击打开pyside6-assistant.exe,也可以在任意位置打开cmd窗口,输入以下命令打开该帮助文档:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_40_2.jpg?sign=1739132593-OQcQkILN7O78DDkYK2bDH7wpnW1FzAVY-0-59a50baee84f29b4962bb2f2dd632c51)
1.3.5 Qt翻译器与其他
pyside6-linguist.exe(Qt翻译器)为PySide程序增加了翻译功能,方便程序的国际化业务。这个工具有GUI功能,既可以通过双击打开该工具,也可以通过如下命令行打开该工具:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_40_3.jpg?sign=1739132593-ffpoxhR4PsEHC2pzhikaZEYLKq5Ei7Xx-0-c9bb70ddafa5b39b880d9a248ada25c9)
这里随便打开一个文件(打开的是.po文件),效果如图1-23所示,把Save翻译成中文“保存”。
还有几个不常用的工具,下面进行简要介绍。
• pyside6-genpyi.exe:为PySide模块生成.pyi文件,只能在命令行中使用。
• pyside6-lrelease.exe:是Qt Linguist工具链的一部分,只能在命令行中使用。
• pyside6-lupdate.exe:是Qt Linguist工具链的一部分,从QTUI文件,以及C++、Java和JavaScript/QtScript源代码中提取可翻译的信息。提取的信息存储在文本翻译源文件(通常是Qt-TS-XML)中。新信息和修改后的信息可以合并到现有的TS文件中。该工具只能在命令行中使用。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_41_1.jpg?sign=1739132593-nrh8QBKyTEKVDgjV2kTfkFOyNtAop416-0-023a712c426c98d334b7821c239e886e)
图1-23
1.3.6 PyQt 6中的Qt工具
上面介绍的都是PySide 6提供的工具。PyQt 6默认提供了uic工具,该工具和pyside6-uic.exe都位于D:\miniconda3\Scripts\pyuic6.exe目录下。uic工具可以像pyside6-uic.exe一样使用。
如果想使用其他Qt工具,如Designer等功能,则需要额外安装其他模块,如pyqt6-tools,代码如下:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_41_2.jpg?sign=1739132593-SibE9K4R1Zx3Hm8HPIxXp8sMObKgSVQC-0-895c006803bd23c9c4eb994e2c0454da)
这个模块为PyQt 6提供Designer、QML Scene和QML Test Runner的支持,可以使用子命令来获取这些支持,如打开Qt Designer需要运行如下命令:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_41_3.jpg?sign=1739132593-4FX4pl7OhCGDYJjCV01MN8NQIZPjkhr4-0-3677e27ae1c769ff5ca34f440258d4fa)
遗憾的是,这个模块更新得比较慢,和PyQt 6不同步。截止到2022年2月,该模块只支持到PyQt 6.1,而最新版本的PyQt是6.2.3,会产生版本冲突,建议使用虚拟环境单独安装这个模块。
另一个补充工具是qt6-applications,安装方法如下:
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_42_1.jpg?sign=1739132593-mf7p3oBbtuM4QVQM9qbcVqxFLvlR1sFl-0-74b7ff408cdff55d3fe7dcae7edb26e0)
完成安装之后可以在D:\miniconda3\Lib\site-packages\qt6_applications\Qt\bin目录下找到一些Qt工具,如图1-24所示,一些常用软件assistant.exe、designer.exe等都可以使用。遗憾的是这个工具更新得比较慢,最新版本只支持到Qt 6.1。
![](https://epubservercos.yuewen.com/7E60F4/25638742209049106/epubprivate/OEBPS/Images/44525_42_2.jpg?sign=1739132593-d3V83DBnsJKVZ24oWfb5arJSVv5oc6aI-0-daa92d6642590fd5dcb89c73a85dfd2e)
图1-24