• qt不同模块使用多语言


    Qt装载多个多语言文件,主要有两种方式:

    在主程序中装载,主程序为A 动态快为B 为A 与B 分别生成A.qm  B.am文件,然后在A的主程序一起装载

    QApplication a(argc, argv);

    // 定义两个QTranslator 对象,分别对应不同的翻译文件
    QTranslator translator;
    QTranslator translatorsys;
    // 各自load不同的qm文件(qm文件已添加到当前工程的资源中)
    translator.load(":/cs.qm");
    translatorsys.load(":/qt_zh_CN.qm");
    // 分别安装翻译文件
    a.installTranslator(&translator);
    a.installTranslator(&translatorsys);

    第二种是在不同模块中分别装载。这时候要注意一点,定义的QTranslator要在整个模块的生存期内都有效,不然只在有效期内的翻译有效,其他时候翻译无效。网上大部分都是定义一个局部变量,然后装载,局部变量的生命周期结束后,翻译就无效。

        QTranslator translator;  设置为在整个动态库加载生存周期内都有效的变量
         translator.load(QString(test_zh.qm", ".");
        QCoreApplication::installTranslator(&translator);

  • 相关阅读:
    Docker底层技术了解(3)
    Docker整体结构了解(2)
    Docker简介(1)
    linux常用命令
    python反射
    flask线程隔离技术
    flask核心机制
    并发编程
    socket通信
    网络编程
  • 原文地址:https://www.cnblogs.com/cg_ghost/p/11537677.html
Copyright © 2020-2023  润新知