QT动态实现中英文切换

第一步:打开项目pro文件添加

TRANSLATIONS += myI18N_zh_CN.ts

文件名可以随便取,但是要以  .ts  结尾

第二步:使用lupdate生成  .ts  文件

第三步:使用Qt Linguist完成翻译

第四步,使用lrelease生成.qm文件

第五步:代码实现

主要代码就是加载qm文件,然后显示更新

void MainWindow::onTranslation()
{
    if(!m_bTranslator)
    {
        //  翻译文件
        m_qtTranslator.load(":/qzher_en.qm");
        qApp->installTranslator(&m_qtTranslator);
        ui->retranslateUi(this);
    }
    else
    {
        qApp->removeTranslator(&m_qtTranslator);
        ui->retranslateUi(this);
    }
    m_bTranslator = !m_bTranslator;
}

注意:

  • 文件的路径要么是绝对路径要么是资源文件的路径
  • 这个只能翻译已经存在界面文件的字符串,不能翻译代码中的字符串

 

实例代码可以到我的网盘中下载

链接:https://pan.baidu.com/s/196I0457WonSpkJUN83nkow
提取码:sd0g
复制这段内容后打开百度网盘手机App,操作更方便哦

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值