zoukankan      html  css  js  c++  java
  • Qt 5.12.10 国际化

    网上有资料但是不全,所以这里记录一份比较全的

    1.创建项目

    2.编辑 demo.cpp

    这里写button用来做国际化示例,运行软件后是这个样子

    #include "demo.h"
    #include "ui_demo.h"
    #include <QPushButton>
    
    demo::demo(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::demo)
    {
        ui->setupUi(this);
    
        // 按钮的文字需要使用 tr() 包含起来
        QPushButton *btn = new QPushButton(tr("test"), this);
        // 设置按钮大小
        btn->resize(100, 50);
    }
    
    demo::~demo()
    {
        delete ui;
    }

    3.编辑Pro文件,添加一个配置,cn.ts 是翻译文件,cn这个文件的名字可以自定义。

    TRANSLATIONS += 
        cn.ts

    4.点击【工具】【外部】【Qt预言家】【更新翻译】

     5.打开Qt预言家,将ts文件放进去,找到需要翻译的地方,输入翻译后的文字

    6.点击【文件】【发布】,然后会生成 qm 文件

    7.对翻译文件做静态加载,然后运行软件就可以看见按钮的文字是中文了

    编辑 main.cpp  做静态加载

    #include "demo.h"
    
    #include <QApplication>
    #include <QTranslator>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QTranslator trans;
        // load 需要传递两个参数,文件名称、文件目录
        trans.load("cn.qm", QApplication::applicationDirPath());
        a.installTranslator(&trans);
    
        demo w;
        w.show();
        return a.exec();
    }

    8.将生成的 cn.qm 文件放到debug文件夹下,然后运行

    现在显示出来的就是中文了。

  • 相关阅读:
    Spark笔记:RDD基本操作(下)
    Spark笔记:RDD基本操作(上)
    使用mapreduce计算环比的实例
    Hbase学习笔记01
    周爱民:真正的架构师是没有title的(图灵访谈)
    google map 路线服务
    Google Maps V3 之 路线服务
    CSS3支持box-flex弹性布局
    php curl用法
    .frm,.myd,myi转换为.sql导入数据库
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/15011752.html
Copyright © 2011-2022 走看看