QT 多言語中国語と英語の切り替え

#2023 ブログ スター -- シティ スター リーダー アクティビティが開始#       

        この記事では、Qtプログラムの多国語切り替えを実現するQt言語マスターツールの使い方を詳しく紹介します。たとえば、新しいインターフェイス、プロ パラメータ、翻訳の更新QT 預言翻訳言語中国語の翻訳、英語の翻訳、翻訳のリリース、コア コード、h ソース コード、cpp ソース コード、デモンストレーション エフェクト、その他の操作を作成します。

 この記事の著者はオリジナルです。転載する場合は、記事の出典とこの記事のリンクを添付してください。

QT多言語切り替えディレクトリ

1 新しいインターフェース

2つのプロパラメータ

3 翻訳を更新する

4 QT Prophet 翻訳言語

 5 中国語の翻訳

 6 英語を翻訳する

 7 翻訳後

8コアコード

8.1 .h ソースコード

8.2 .cpp ソースコード

9 デモエフェクト


1 新しいインターフェース

2つのプロパラメータ

        言語ファイルを追加するproファイル

TRANSLATIONS =  LanguageChinese.ts \
                LanguageEnglish.ts

3 翻訳を更新する

        QT Prophet の翻訳の更新

4 QT Prophet 翻訳言語

 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 ファイルを使用して同じ機能を実現することもできます。また、2 つの新しいフィールドを作成して、グローバル判断によって異なるフィールドを取得し、多言語切り替えを実現することもできます。

おすすめ

転載: blog.csdn.net/qq_37529913/article/details/131336289