PyCharm:Qt Designer配置
这儿以PySide2为例,介绍designer.exe、lingust.exe、pyside2-lupdate.exe、pyside2-uic.exe和pyside2-rcc.exe等工具的基本配置。
测试环境:PyCharm + PySide2(安装在虚拟环境下) + WIN10 x64
使用pip install PySide2安装PySide2后,可以在/venv/site-packages/PySide2、venv/Scripts目录下找到designer.exe、lingust.exe、pyside2-lupdate.exe、pyside2-uic.exe和pyside2-rcc.exe等文件。
下面介绍每个工具的配置方法:
首先打开PyCharm设置界面,选择Tools->External Tools,点击+号,即可以自定义工具。如下图所示:
配置界面
配置designer
designer.exe用于设计界面,路径为/venv/Lib/site-packages/PySide2/designer.exe。点击+号,输入以下内容:
- Pragram:
$ProjectFileDir$/venv/Lib/site-packages/PySide2/designer.exe - Arguments:
$FileNameWithoutExtension$.ui - Working directory:
$FileDir$
配置designer
配置pyside2-uic.exe
pyside2-uic.exe用于将*.ui文件转为Python代码,路径为venv/Scripts/pyside2-uic.exe,可以通过-o FILE, --output=FILE生成代码到指定文件中。配置内容如下:
- Pragram:
$PyInterpreterDirectory$/pyside2-uic.exe - Arguments:
$FileNameWithoutExtension$.ui -o $FileNameWithoutExtension$.py - Working directory:
$FileDir$
配置pyside2-uic
配置pyside2-rcc.exe
pyside2-rcc.exe用于编译资源文件,路径为venv/Scripts/pyside2-rcc.exe。具体参数为:
Usage
pyside2-rcc [options] <inputs>
Options
-o file
Write output to file rather than stdout
-py2
Generate code for any Python v2.x version (default)
-py3
Generate code for any Python v3.x version
-name name
Create an external initialization function with name
-threshold level
Threshold to consider compressing files
-compress level
Compress input files by level
-root path
Prefix resource access path with root path
-no-compress
Disable all compression
-version
Display version
-help
Display this information
同样点击+号,输入以下内容:
- Pragram:
$PyInterpreterDirectory$/pyside2-rcc.exe - Arguments:
-py3 $FileNameWithoutExtension$.qrc -o $FileNameWithoutExtension$_rc.py - Working directory:
$FileDir$
配置pyside2-rcc
注意:后续版本删除了-py3参数,可以改成$FileNameWithoutExtension$.qrc -o $FileNameWithoutExtension$_rc.py即可。
配置pyside2-lupdate.exe
pyside2-lupdate.exe用于从ui文件和Python源码中提取需要翻译的字符串,路径为venv/Scripts/pyside2-lupdate.exe。可以通过-verbose输出详细信息。同样点击+号,输入以下内容:
- Pragram:
$PyInterpreterDirectory$/pyside2-lupdate.exe - Arguments:
-verbose $FileNameWithoutExtension$.pro - Working directory:
$FileDir$
配置pyside2-lupdate
注意这儿输入的是*.pro文件,可以通过.pro文件指定源文件SOURCES和国际化语言TRANSLATIONS,基本格式如下:
CODECFORTR = UTF-8
CODECFORSRC = UTF-8
TRANSLATIONS = zh_CN.ts \
en_US.ts
SOURCES = ../../control/canvas.py \
../../control/rtcanvas.py \
输出:
Updating 'zh_CN.ts'...
Found 218 source texts (9 new and 209 already existing)
Kept 0 obsolete translations
Removed 9 obsolete untranslated entries
Updating 'en_US.ts'...
Found 218 source texts (9 new and 209 already existing)
Kept 9 obsolete translations
Removed 0 obsolete untranslated entries
另外,可以添加-noobsolete参数删除所有过时的字符串。比如改成Arguments:-verbose -noobsolete $FileNameWithoutExtension$.pro。
配置linguist.exe
linguist.exe用于多语言翻译,输入文件为上一步生成的*.ts文件,并可以发布为*.qm文件,路径为/venv/site-packages/PySide2/linguist.exe。配置内容如下:
- Pragram:
$ProjectFileDir$/venv/Lib/site-packages/PySide2/linguist.exe - Arguments:
$FileNameWithoutExtension$.ts - Working directory:
$FileDir$
配置linguist
修改语言后,在linguist软件中选择菜单栏文件>发布,即可生成*.qm文件。
附QTranslator简单用法:
import sys
from PySide2.QtWidgets import QApplication
from PySide2.QtCore import QTranslator
app = QApplication(sys.argv)
translator = QTranslator()
translator.load(f":/language/resource/language/zh_CN.qm") # 从资源文件中加载
app.installTranslator(translator)
...
版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.jianshu.com/p/05b53ccacbf6