PyQt教程——程式語言切換(Qt Linguist和pylupdate的使用)

weixin_33728268發表於2018-11-28

PyQt 有一個可以快捷改變程式語言的方案,分三個步驟:

  1. hehe.ui → hehe.py (用pyuic)
  2. hehe.py → hehe.ts (用pylupdate)
  3. hehe.ts → hehe.qm (用Qt Linguist)
    然後在程式中匯入 hehe.qm 即可。

pylupdate的目錄:Python\Scripts\pylupdate5.exe
Qt Linguist的目錄: Python\Lib\site-packages\pyqt5-tools\linguist.exe

第一步已經在上一節做過了:?去看看
當時我們從ui檔案生成了一個py檔案:hehe.py

第二步要用pylupdate指令: pylupdate5 hehe.py -ts hehe.ts
有時候你重新修改 hehe.py 之後,裡面一些詞條已被刪除,這時就需要再加上一個引數noobsolete變成:pylupdate5 -noobsolete hehe.py -ts hehe.ts
生成一個ts檔案:hehe.ts

第三步用 Qt Linguist 處理hehe.ts檔案,並生成一個hehe.qm檔案(這是最終需要的檔案)。

在程式中使用qm檔案:

from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication()

import hehe     # 這裡匯入的是你的ui檔案,正是它生成了下面的hehe.qm檔案
dlg = hehe.Ui_Dialog()

t = QtCore.QTranslator()   # 先新建一個 QTranslator
t.load('hehe.qm')          # 載入qm檔案
app.installTranslator(t)   # 把QTranslator送給我們的程式
dlg.retranslateUi(dlg)     # 開始翻譯(retranslateUi方法在hehe.py檔案裡也可以找到哦)

dlg.show()
app.exec_()

 

本期內容完,以下附Qt Linguist的使用方法。

(先挖坑,改日填)

相關文章