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();
    }
    

      

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

      

  • 相关阅读:
    TestPaste text
    WPF XML序列化保存数据 支持Datagrid 显示/编辑/添加/删除数据
    C# WPF xml序列化 反序列化
    C# show FTP Download/Upload progress
    BAT for 循环
    C# httpRequest Soap请求
    day6 os模块
    day6 random随机数模块
    day6 time和datetime模块
    day5 常用模块json和pickle
  • 原文地址:https://www.cnblogs.com/chuncn/p/2534898.html
Copyright © 2011-2022 走看看