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文件夹下,然后运行

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

  • 相关阅读:
    5.JavaSE之数据类型详解
    4.JavaSE之标识符
    2.Java程序运行机制
    1.HelloWorld 仪式感
    10.安装开发环境
    【模板】后缀数组
    Luogu P3808 【模板】AC自动机(简单版)
    Luogu P3375 【模板】KMP字符串匹配
    LNSY集训
    Luogu P2580 于是他错误的点名开始了 (Trie树模板)
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/15011752.html
Copyright © 2011-2022 走看看