PyChram配置Qt外部工具
使用Qt开发UI,有一个工具是绕不开的,那就是QtDesigner
。对于使用Python开发来说,我们需要把QtDesigner
生产的.ui
文件,转成对应的.py
文件,才可以正常使用。(其实也有另一种方法是直接读取.ui
文件,但这种方法的缺点是编程时没有代码补全。)如果涉及到资源文件.qrc
,同样也需要转换成.py
文件。
因此我们需要配置3个外部工具,分别是
QtDesigner
用来编辑.ui
文件UIC
把.ui
文件转换为'py
文件RCC
把.qrc
文件转换为.py
文件
省流版
新增外部工具
打开(或新建)一个工程,点文件
->设置
,打开设置界面,找到工具
->外部工具
,点+
即可新增外部工具。按照以下图示创建3个外部工具。
QtDesigner
程序路径
C:\Users\username\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySide6\designer.exe
其中
username
为用户名,Python310
为对应的Python版本,PySide6
为对应的PySide或PyQt版本。此外,以上路径为Python的默认安装路径,如果你不是安装在默认路径,需要按实际情况修改。下同不复赘述。实参
$FileName$
工作目录
$FileDir$
UIC
程序路径
C:\Users\username\AppData\Local\Programs\Python\Python310\Scripts\pyside6-uic.exe
其中
pyside6-uic
的pyside6
为对应的PySide或PyQt版本,下同不复赘述。实参
$FileName$ -o ui_$FileNameWithoutExtension$.py
工作目录
$FileDir$
RCC
程序路径
C:\Users\username\AppData\Local\Programs\Python\Python310\Scripts\pyside6-rcc.exe
实参
-o $FileNameWithoutExtension$_rc.py $FileName$
工作目录
$FileDir$
使用
QtDesigner
目前在PyCharm中无法直接新建.ui
文件,只能手动打开QtDesigner
新建.ui
文件。QtDesigner
的目录具体参看上文QtDesigner
的程序路径。此程序以后会经常使用,建议建立一个快捷方式。
生成.ui
文件后,在.ui
文件上右键,外部工具
->QtDesigner
,即可使用QtDesigner
编辑。
UIC
外部工具
->UIC
,即可把.ui
文件转成.py
文件。如mainwindow.ui
会转为ui_mainwindow.py
。
RCC
外部工具
->RCC
,即可把.rcc
文件转成.py
文件。如icon.qrc
会转为icon_rc.py
。
多了解点
外部工具
- 名称:这个本身并没有什么特别支出,可按需任意取名,但考虑到实际使用体验,建议把
UIC
和RCC
改个名字,方便操作时一眼认出。 - 组:默认为
外部工具
,个人认为这也是最方便使用的。网上很多教程会让你把这几个外部工具列入二级分组,比如Qt
,从组织整理上说,这种作法是对的,但如果你的开放环境只有这几个外部工具,其实没必要这样做,这样做会新增一个二级菜单,增加额外的操作。 - 描述:相当于注释,可留空。
- 程序:即要调用的外部程序所在的路径。
- 实参:传入程序的参数,具体详见每个外部工具。
- 工作目录:在哪个文件夹下调用该外部工具,具体详见每个外部工具。
- 其他高级选项:保存默认即可(因为我也不懂)。
QtDesigner
如果使用命令行(或终端)调用该工具,完整命令为
PS D:\MyProject> C:\Users\username\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySide6\designer.exe .\mainwindow.ui
运行以后,就会打开D:\MyProject
下的mainwindow.ui
文件。
实参
为mainwindow.ui
,即当前文件名,可使用宏$FileName$
获取。
工作目录
为D:\MyProject
,即文件所在目录,可使用宏$FileDir$
获取。网上很多教程会让你在这里使用$ProjectFileDir$
,级项目所在目录。如果你的.ui
文件是存在项目的根目录下,是可以正常运行的,因为此时项目目录就是文件所在目录。但如果不是,比如存放在src
目录下,就会出错。
类似的宏还有很多,如有要全部记下来显然不现实,点击旁边的+
按钮,即可在众多的宏中选择所需的宏。
UIC
完整命令为
PS D:\MyProject> pyside6-uic .\mainwindow.ui -o ui_mainwindow.py
默认情况下,系统会把Python的第三方库加入path路径,所以在调用pyside6-uic.exe
时无须填写冗长的完整路径,此外在Windows下,.exe
也可以省略。
实参
为.\mainwindow.ui -o ui_mainwindow.py
其中mainwindow.ui
为输入文件名,可用宏$FileName$
获取。
新生成的文件名为ui_mainwindow.py
,即ui_不含扩展名的文件名.py
,其中不含扩展名的文件名
可用宏$FileNameWithoutExtension$
获取。
因此最后使用宏表示为$FileName$ -o ui_$FileNameWithoutExtension$.py
工作目录与上文一致,不再赘述。
RCC
完整命令为
PS D:\MyProject> pyside6-rcc -o icon_rc.py .\icon.qrc
请注意,实参部分,先传入的输出文件名icon_rc.py
,再传入输入文件名icon.qrc
,其他部分与前文的UIC内容是一样的道理,不再赘述。