当前位置: 首页 > news >正文

qt多语言翻译不生效的原因

假设您有QT语言家的基础知识,假设网上那些所有的问题您都已经排查过了,但依然翻译不生效,那么可以看下这篇帖子,其实就一个问题,变量的生命周期,假设QTranslator是一个函数内的变量,且没有被声明为指针,那么函数执行结束这个变量就被释放掉了,也就是你的应用还没来得及加载这些翻译内容,变量已经被清空了,但为什么网上有一些例子这样写又成功了呢,我猜测是因为他们的项目足够小,在变量被释放前需要翻译的那三四个单词已经翻译完成了。下面举例说明。

int main(int argc, char *argv[])
{QApplication app(argc, argv);QTranslator translator;translator.load("trans_zh_CN.qm");app.installTranslator(&translator);return app.exec();
}

比如上面这段代码,QTranslator translator,可以能是事件循环的第一次循环结束后,已经被释放,这中间是有一段时间的,可能是几十毫秒,几百毫秒,这个时间加载量很小的翻译文件时没问题的,但是项目稍大就不行了,所以此处将QTranslator translator;定义为类的成员变量,或者new出来就可以解决这个问题。

上述关于事件循环的知识点,以及是否在事件循环第一次执行完以后变量就被释放掉全部是我猜测的,正确与否请自行辨别。

http://www.lryc.cn/news/357960.html

相关文章:

  • springboot集成达梦数据库8,用springboot+mtbatisplus查询值为空
  • C语言-----指针数组 \ 数组指针
  • Go语言 gRPC 简述
  • 信息系统项目管理师0136:工具与技术(8项目整合管理—8.9结束项目或阶段—8.9.2工具与技术)
  • appium-driver方法待整理。。
  • Android Ktor 网络请求框架
  • 交互设计如何助力传统技艺在当代复兴?
  • 使用 Django Rest Framework 构建强大的 Web API
  • 老师如何对付挑事儿的家长?
  • 若安装了Python3且没有删除Python2,那么启动yum命令会报错:
  • JVM(四)
  • Leetcode373.查找和最小的 K 对数字
  • windows 安装 使用 nginx
  • 【运维】Linux 端口管理实用指南,扫描端口占用
  • Android笔记--应用安装
  • 今日分享站
  • 基于python flask的旅游数据大屏实现,有爬虫有数据库
  • 海尔智家牵手罗兰-加洛斯,看全球创牌再升级
  • 【busybox记录】【shell指令】unlink
  • 如何恢复被盗的加密货币?
  • 英语学习笔记29——Come in, Amy!
  • grpc NewClient 报错 name resolver error: produced zero addresses
  • 【Docker】2、配置SSL证书远程访问Docker
  • HFish蜜罐管理端搭建:构建网络安全的主动防御系统
  • 探秘AI艺术:揭开Midjourney绘画的神秘面纱
  • 29-ESP32-S3-WIFI_Driver-00 STA模式扫描全部 AP
  • 2024了,还有人在问为甚死锁?
  • Java中Arrays.toString与new String()字节数组使用的差异
  • 开源表单流程设计器有哪几个突出的优势特点?
  • 景源畅信:抖音小店如何开橱窗?