Qt 多语言

avatar
作者
猴君
阅读量:0

记录Qt多语言的实现过程

目录

1.项目配置文件.pro配置

2.程序中的字符串用tr()封装

3.生成翻译文件

4.使用Qt语言家修改翻译文件

4.1使用Qt语言家打开

4.2 .更改文件配置

 5. 生成qm文件

6.代码执行切换语言

6.1入口处

6.2 事件执行


0.效果

1.项目配置文件.pro配置

TRANSLATIONS+= en_tr.ts \                 zh_tr.ts

2.程序中的字符串用tr()封装

labInfo->setText(tr("字体名称"));

3.生成翻译文件

4.使用Qt语言家修改翻译文件

4.1使用Qt语言家打开

4.2 .更改文件配置

 5. 生成qm文件

6.代码执行切换语言

6.1入口处

入口函数引用、声明

//多语言使用 #include <QTranslator> #include <QSettings>  QTranslator trans;   

入口函数内部

  //多语言入口函数内部     QApplication::setOrganizationName("CC-Qt");     QApplication::setApplicationName("CC");     QSettings settings;     QString curLang = settings.value("Language","CN").toString();//读取注册表     bool success =false;     if(curLang=="EN")         success = trans.load("en_tr.qm");     else         success = trans.load("zh_tr.qm");      if(success)         a.installTranslator(&trans);      TextEditorExample example;     example.show();

6.2 事件执行

extern QTranslator trans;//声明外部变量 void TextEditorExample::on_actLang_EN_triggered() {     if(trans.load("en_tr.qm"))     {         ui->retranslateUi(this);         labInfo->setText(tr("字体名称"));         QSettings settings;         settings.setValue("Language","CN");     } }   void TextEditorExample::on_actLang_CN_triggered() {     if(trans.load("zh_tr.qm"))     {         ui->retranslateUi(this);         labInfo->setText(tr("字体名称"));         QSettings settings;         settings.setValue("Language","CN");     } } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!