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)运行可得: