QT之国际语言翻译

//中文
void MainWindow::ChineseActionClicked()
{
    qDebug() << "Chinese";

    if  (translator  !=  nullptr){
        qApp->removeTranslator(translator);//如果之前加载过翻译文件,则移除之前的翻译文件。
        delete  translator;
        translator  =  nullptr;
    }

    translator  =  new  QTranslator;

    if(translator->load(application_dir_path + "\\zh_CN.qm")) {
        qApp->installTranslator(translator);
        ui->retranslateUi(this);

        qDebug() << "load zh_CN.qm sucssed!";
    } else {
        qDebug() << "load zh_CN.qm failed!";
    }
}
//切换位原本英文语言
void MainWindow::EnglishActionClicked()
{
    qDebug() << "English";

    if  (translator  !=  nullptr){
        qApp->removeTranslator(translator);//如果之前加载过翻译文件,则移除之前的翻译文件。
        delete  translator;
        translator  =  nullptr;
        qDebug() << "???";
    }
    qApp->installTranslator(nullptr);

    ui->retranslateUi(this);
}

results matching ""

    No results matching ""