QT动态翻译中英文语言

**

更新时间:2021-04-21

**

界面程序为了适合多国家的用户,都会有选择语言这一块。
效果图:
在这里插入图片描述
翻译分为几部:
1.先确定好你要翻译的字符串位置
2.在pro文件中加入:TRANSLATIONS = chinese.ts
打开你使用的编译器cmd,切换到项目路径。并执行:lupdate.exe xxx.pro得到ts文件
在这里插入图片描述

3.使用linguist.exe打开生成的ts文件,并添加你要翻译的中文。
4.完成翻译后,选择–文件–另外发布为–保存到本地qm文件即可。
在这里插入图片描述

代码使用:
头文件:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QTranslator>	// 国际化
#include <QLibraryInfo> // 国际化

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_comboBox_currentIndexChanged(int index);


private:
    Ui::Widget *ui;
    QTranslator tran;

};

#endif // WIDGET_H

cpp文件:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

}

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

//加载翻译qm文件
void Widget::on_comboBox_currentIndexChanged(int index)
{
    if(ui->comboBox->currentIndex()==1)
    {
        tran.load(":/lang/chinese.qm");
        qApp->installTranslator(&tran);
    }else
    {
        qApp->removeTranslator(&tran);
    }
    ui->retranslateUi(this);

}

这里我只是简单的翻译使用。其中有很多坑。我后面再更新上来。
我这里只是做了中英文的翻译。如果有其他语言需要对应的qm文件来进行翻译。这里还是建议大家要学好英语。呜呜呜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值