QT 多语言 中英文切换

#2023 博客之星--城市之星领跑者活动开启#       

        本文详细的介绍了利用Qt语言大师工具,实现Qt程序的多国家语言切换。例如新建界面、pro参数、更新翻译QT预言家翻译语言翻译中文、翻译英文、发布翻译、核心代码、h源代码、cpp源代码、演示效果等操作。

 本文作者原创,转载请附上文章出处与本文链接。

QT 多语言切换目录

1 新建界面

2 pro参数

3 更新翻译

4 QT预言家翻译语言

 5 翻译中文

 6 翻译英文

 7 发布翻译

8 核心代码

8.1 .h源代码

8.2 .cpp源码

9 演示效果


1 新建界面

2 pro参数

        pro文件加入语言文件

TRANSLATIONS =  LanguageChinese.ts \
                LanguageEnglish.ts

3 更新翻译

        QT预言家更新翻译

4 QT预言家翻译语言

 5 翻译中文

        打开翻译文件->目标语言中文->原文译文都写中文->全部确认->保存

 

 6 翻译英文

        打开翻译文件->目标语言中文->原文译文都写中文->全部确认->保存

 

 

 7 发布翻译

 

8 核心代码

8.1 .h源代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QFile>
#include <QDebug>
#include <QTranslator>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

private:
    Ui::MainWindow *ui;

    QString strFile;
    QTranslator ch;
    QTranslator en;
};
#endif // MAINWINDOW_H

8.2 .cpp源码

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    strFile = "E:/QT/Creator/QLanguage/";
    //加载 翻译文件
    ch.load(strFile + "LanguageChinese.qm");
    en.load(strFile + "LanguageEnglish.qm");
}

MainWindow::~MainWindow()
{
    delete ui;
}

//中文
void MainWindow::on_pushButton_clicked()
{
    qApp->installTranslator(&ch);
    ui->retranslateUi(this);
}
//英文
void MainWindow::on_pushButton_2_clicked()
{
    qApp->installTranslator(&en);
    ui->retranslateUi(this);
}

9 演示效果

10 其它方法

        也可以使用ini文件、xml文件来实现同样的功能,新建两个字段通过全局判断来获取不同的字段来实现多语言切换。

猜你喜欢

转载自blog.csdn.net/qq_37529913/article/details/131336289