0
点赞
收藏
分享

微信扫一扫

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

残北 23小时前 阅读 2

 当使用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个文件的)中,这种更简洁些。

举报

相关推荐

0 条评论