【Qt】国际化

阅读 112

2022-01-18

  1. 需要翻译的字符串用tr()包括,QtDesign设计的ui勾选可翻译

  2. pro文件中加入ts
    .pro

TRANSLATIONS = resources/translation/Translation_EN.ts \
    resources/translation/Translation_CN.ts
  1. 点击更新翻译
    在这里插入图片描述

  2. QtLinguist打开生成的ts文件,输入对应翻译,后点击发布生成qm文件
    在这里插入图片描述

  3. qm文件放在项目的build目录下

  4. comboBox实时加载cpp

void AboutDialog::seleteComboBoxSlot(int index)
{
    QTranslator translator;

    switch(index)
    {
    case 0:
        if (translator.load("Translation_EN.qm"))
        {
            QApplication::installTranslator(&translator);
            ui->retranslateUi(this);
            this->setWindowTitle("About"); // retranslateUi不能更新窗口Title
        } else {
            qDebug()<<"Load Translate file fail";
        }
        break;
    case 1:
        if (translator.load("Translation_CN.qm"))
        {
            QApplication::installTranslator(&translator);
            ui->retranslateUi(this);
            this->setWindowTitle("关于");
        } else {
            qDebug()<<"Load Translate file fail";
        }
        break;
    default:
        break;
    }
}

精彩评论(0)

0 0 举报