本文详细的介绍了利用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文件来实现同样的功能,新建两个字段通过全局判断来获取不同的字段来实现多语言切换。