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"));
相关推荐
峥无10 分钟前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
波特率11520014 分钟前
C++新特性---属性说明符与标准属性
开发语言·c++
程序员小八77718 分钟前
上海百度B端java后端日常实习一面
java·开发语言
wp123_129 分钟前
IPX8 防水 Type‑C连接器:安费诺 124018792112A 与 TONEVEE TY48087‑24A 技术梳理
c语言·开发语言
不会代码的小猴42 分钟前
3. 控件学习1
开发语言·c++·笔记·qt·算法
fangzhanpeng1681 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
mqiqe4 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
xixiaoyunya5 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
精英的英5 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt
烧酒同学5 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染