Qt中關于QTranslator 的使用
加入項目的名稱為MyTranslator :
(1) 在代碼中需要翻譯的控件使用tr()辨別,比如:
MyTranslator::MyTranslator(QWidget *parent)
: QWidget(parent),
m_button(new QPushButton(tr("button"),this)),
m_button1(new QPushButton(tr("button1"),this))
{
layout.addWidget(m_button);
layout.addWidget(m_button1);
this->setLayout(&layout);
}
(2)在MyTranslator .pro中添加 TRANSLATIONS += Language_zh_cn.ts //其中名字可以自定義
(3)Qt中bin目錄下可以找到lupdate.exe 打開指令行cmd -》 lupdate MyTranslator .pro 或者直接在菜單中使用linguist ,會在工程目錄下生成 Language_zh_cn.ts檔案
(4)打開QT Linguist,如下圖所示。
在“檔案”中打開.ts檔案。
可以看到右下邊顯示可以添加漢語的地方,點選“button”項,在漢語 譯文下輸入“按鈕”,同樣“button1”輸入“按鈕1”。
(5)在檔案中選擇“釋出”,可在工程目錄下生成“Language_zh_cn.qm”檔案。
(6)使用.qm如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
translator.load("./Language_zh_cn");
a.installTranslator(&translator);
MyTranslator w;
w.show();
return a.exec();
}
注意:QTranslator 要在app建立之後調用
(7)運作可得: