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"));
相关推荐
沫璃染墨6 小时前
《Qt从零入门系列(十四):QThread多线程详解——从线程创建到客户端阻塞处理》
开发语言·c++·笔记·qt·ui·交互·线程
hixiong1236 小时前
C# 使用 ZXingCpp.Angle 进行条码、二维码识别
开发语言·c#·扫码
云和数据.ChenGuang6 小时前
AI 工程师相关就业岗位(细分,偏工程落地,由底层到上层)
服务器·开发语言·人工智能·python
爱读书的小胖7 小时前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
代钦塔拉7 小时前
【C++/Qt 进阶】设计模式系列(5):适配器模式——给“不兼容的接口“贴一层翻译膜
c++·qt·设计模式
码途行者7 小时前
处理超时未支付订单:两套轻量化方案,附 PHP 极简实现
开发语言·redis·php
云和数据.ChenGuang7 小时前
LangChain 实战指南:从入门到构建智能应用
开发语言·人工智能·python·langchain
const_qiu7 小时前
第三章 04:3.6 基础调用链的构建
开发语言·python
向上的车轮7 小时前
Python 大数据处理不慢:Polars + DuckDB + Arrow 实战指南
开发语言·python
Nebula_g7 小时前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase