看QT的帮助文档的时候,在QObject发现了一个tr函数,然后就去看了一下它的作用,发现他可以把tr包括起来的字符进行语言的切换。
示例:
1. 在.pro文件中添加
TRANSLATIONS = lang_English.ts
widget.cpp的构造函数中使用
ui->label->setText(tr("qweqwe"));
2. 然后在“工具-》外部-》QT语言家-》更新翻译”生成lang_English.ts文件,左下角Windows窗口-》QT-》Linguist-》打开lang_English.ts文件
在下面源文输入翻译后的文字,保存。
3. 回到QT编辑器,上方工具-》外部-》语言家-》发布翻译,得到lang_English.qm文件.
4. 回到QT编辑器,如果想启动时就切换语言,就在main函数里面使用(反正在调用tr前使用就可以),使用以下代码:
static QTranslator* translator;
if (translator != nullptr)
{
qApp->removeTranslator(translator);
delete translator;
translator = nullptr;
}