zoukankan      html  css  js  c++  java
  • Qt多国语言的实现与切换(国际化)

    1、创建语言文件

      打开.pro文件,加入以下:

    TRANSLATIONS+=cn.ts

      工具->外部->Qt语言家->更新翻译,将生成翻译文件cn.ts

    2、编辑翻译文件

      启动Linguist(Qt语言家),打开cn.ts,然后进行编辑,主要是将源文对应的译文填写上,最后保存

    3、部署翻译文件

      工具->外部->Qt语言家->部署翻译,将生成语言文件qm

    4、加载翻译文件

        QTranslator translator;
        bool b = false;
        b = translator.load("cn.qm");
        a.installTranslator(&translator);
    

    注:随时可以重复“2”~“3”步骤以便更新翻译

    5、切换不同多国语言

    void MainWindow::Refresh()
    {
        ui->listWidget->addItem(tr("item1"));
        ui->listWidget->addItem(tr("item2"));
        ui->listWidget->addItem(tr("item3"));
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        QTranslator translator;
        bool b = false;
        b = translator.load("cn.qm");
        qApp->installTranslator(&translator);
        this->Refresh();
    }
    
    void MainWindow::on_pushButton_2_clicked()
    {
        QTranslator translator;
        bool b = false;
        b = translator.load("cn2.qm");
        qApp->installTranslator(&translator);
        this->Refresh();
    }
    

      

      经此一用,中文到控件上乱码的问题也顺带完美解决了,享受了一次轻松多国语实现的过程。

      

  • 相关阅读:
    Comet OJ
    Comet OJ
    Comet OJ
    Comet OJ
    Codeforces Round #562 (Div. 2)
    P1202 USACO1.1 黑色星期五
    P1201 USACO1.1 贪婪的送礼者
    【线段树】HDU1166:敌兵布阵
    标准C++中的string类的用法总结(转)
    【递归】分形
  • 原文地址:https://www.cnblogs.com/chuncn/p/2534898.html
Copyright © 2011-2022 走看看