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

      

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

    lupdate Smart.pro

    edit cn.ts

    Qt linguist file release

  • 相关阅读:
    Websocket基础知识简记
    jmeter websocket接口测试
    软件测试的艺术 笔记(上)
    错误提示Unable to preventDefault inside passive event listener解决方法
    vue-cil3关闭eslint语法检查
    mongoDB无法启动服务器
    Vue之todoList
    react踩坑第一章
    父组件向孙子组件传值(Context)特性
    变量声明
  • 原文地址:https://www.cnblogs.com/wiessharling/p/2935715.html
Copyright © 2011-2022 走看看