Qt QMessageBox、QDialogButtonBox中英文翻译动态切换

QMessageBox、QDialogButtonBox中英文翻译动态切换,单独的固定显示成中文的方法很多,对于需要中英文翻译动态切换的场景就不适用,把固定的中文改成Qt翻译机制能处理的tr字符串就行了。

本文基于Qt5.14.2版本,对QMessageBox、QDialogButtonBox等Qt自带qm处理不到的地方进行随软件语言的动态切换,不额外使用qt_zh_cn.ts,不深入底层,尽快对现有项目实现翻译。

QDialogButtonBox,直接在构造函数,对button的setText进行翻译,与普通翻译一致。

cpp 复制代码
    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Ok"));
    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));

QMessageBox,直接在设置QMessageBox的时候,对button的setText进行翻译,与普通翻译一致。

cpp 复制代码
  msgBox.button(QMessageBox::Yes)->setText(tr("Yes"));
  msgBox.button(QMessageBox::No)->setText(tr("No"));
  msgBox.button(QMessageBox::Ok)->setText(tr("Ok"));
相关推荐
广州灵眸科技有限公司8 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
今夜有雨.8 小时前
C# 学习文档(零基础入门)
开发语言·学习·c#
软件黑马王子9 小时前
14.事件中心:主要作用和原理
开发语言·前端框架·c#
君顾19 小时前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
Quz9 小时前
QML Loader:从文件加载组件、加载内联组件
qt
Quz9 小时前
QML Loader: 状态监听与动态标签页
qt
似水এ᭄往昔9 小时前
【Qt】--常用控件(显示类控件)
开发语言·qt
PHP实战开发录9 小时前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
云小逸11 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++