Qt标准对话框中文qm文件加载

本文介绍了如何在使用Qt标准对话框时实现中文翻译,包括从translations文件夹复制必要的qm文件,以及通过windeployqt工具集成多个qm文件到qt_zh_CN.qm。
摘要由CSDN通过智能技术生成

 当使用qt标准对话框时,如QMessageBox,QFileDialog等时,默认都是英文。这时可以从qt安装路径下找到一个translations的文件夹,里面就是qt所有的翻译文件qm文件。

标准对话框主要使用qt_zh_CN.qm , 但是通过查看qt_zh_CN.ts文件里面只是4个文件,所以还得把这四个qm文件同时拷贝出来才能正常使用。

从translations文件中找到这5个文件,拷贝到自己的应用程序下面即可。

qt_zh_CN.qm(只有1kb大小,说明里面没什么数据)

qtbase_zh_CN.qm
qtscript_zh_CN.qm
qtmultimedia_zh_CN.qm
qtxmlpatterns_zh_CN.qm

 qt_zh_CN.ts文件内容:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<dependencies>
<dependency catalog="qtbase_zh_CN"/>
<dependency catalog="qtscript_zh_CN"/>
<dependency catalog="qtmultimedia_zh_CN"/>
<dependency catalog="qtxmlpatterns_zh_CN"/>
</dependencies>
</TS>

 加载过程:

QString qstrLanguage{ "0" };
    GetBaseInfo("Language", qstrLanguage);
    int iLanguage = qstrLanguage.toInt();
    QTranslator translator; //不能放到if里面,无效
    QTranslator translatorQt;
    if (iLanguage == 1)
    {
        //加载qt标准窗口的语言,附带四个其他的
        translatorQt.load(QCoreApplication::applicationDirPath() + "/qt_zh_CN.qm");
        translator.load(QCoreApplication::applicationDirPath() + "/TransMeasureToolsVM_zh_CN.qm");
    }
    a.installTranslator(&translatorQt);
    a.installTranslator(&translator);

也可以通过windeployqt 加载qt资源后,通过其中的 translations文件夹看到所有语言的集合,里面就将上述四个文件集合到一个qt_zh_CN.qm(134kb,已经集成了上述4个文件的)中,这种更简洁些。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值