PyCharm:Qt Designer配置

这儿以PySide2为例,介绍designer.exelingust.exepyside2-lupdate.exepyside2-uic.exepyside2-rcc.exe等工具的基本配置。

测试环境:PyCharm + PySide2(安装在虚拟环境下) + WIN10 x64

使用pip install PySide2安装PySide2后,可以在/venv/site-packages/PySide2venv/Scripts目录下找到designer.exelingust.exepyside2-lupdate.exepyside2-uic.exepyside2-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] 
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

你可能感兴趣的:(PyCharm:Qt Designer配置)