Qt实现中英文切换中QMessageBox中的中文信息怎么处理

有粉丝看了《Qt实现中英文切换》文章后,留言说"中英文切换中QMessageBox中的中文信息怎么处理",这篇文章就告诉你处理方法。

1,QMessageBox OK或Cancel提示语句

复制代码
QMessageBox::information(this, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试"), QMessageBox::Ok | QMessageBox::Cancel);

修改后的

复制代码
 QMessageBox* msgBox = new QMessageBox(QMessageBox::Information, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试"), QMessageBox::Ok );

 msgBox->button(QMessageBox::Ok)->setText(QString::fromLocal8Bit("确定"));
 msgBox->button(QMessageBox::Cancel)->setText(QString::fromLocal8Bit("取消"));
 msgBox->exec();
 delete msgBox;

2,QMessageBox OK提示语句

复制代码
QMessageBox::information(this, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试,懂不?"), QMessageBox::Ok);

修改后的,我们可以根据自己的喜好,设置更特别的文字。

复制代码
   QMessageBox* msgBox = new QMessageBox(QMessageBox::Information, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试,懂不?"), QMessageBox::Ok );
   // 将原本显示"Yes"的按钮改为显示"懂了"
   msgBox->button(QMessageBox::Ok)->setText(QString::fromLocal8Bit("懂了"));
   msgBox->exec();
   delete msgBox;

3,含选择问句 QMessageBox Yes或No提示语句

复制代码
 QMessageBox::question(this, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试?"), QMessageBox::Yes | QMessageBox::No);

修改后的

复制代码
  QMessageBox* msgBox = new QMessageBox(QMessageBox::question, QString::fromLocal8Bit("测试"), QString::fromLocal8Bit("这是一个测试?"), QMessageBox::Ok );
   将原本显示"Yes"的按钮改为显示"是"
  msgBox->button(QMessageBox::Yes)->setText(QString::fromLocal8Bit("是"));
  msgBox->button(QMessageBox::No)->setText(QString::fromLocal8Bit("否"));
  msgBox->exec();
  delete msgBox;

总结:所有的QMessageBox中的控件,只有QLabel与QPushButton,所以只要获取相应的控件,就可以随意改变文字与字体颜色,大小等。获取button 的关键语句msgBox->button(QMessageBox::Yes)。

相关推荐
zhanghaha131413 分钟前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
apcipot_rain17 分钟前
C++转Java日记(02)
java·开发语言·c++
杜 硕40 分钟前
从零开始的C++生活——第七讲——02
开发语言·c++·生活
zhanghaha131442 分钟前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#
麦麦麦当劳大王9 小时前
【油猴脚本】Boss直聘 岗位职责复制
开发语言·前端·javascript
starzy19909 小时前
深入理解Scala Map:从实现原理到工程实践
开发语言·后端·scala
只睡四小时10 小时前
Three.js Sub-tick:漏判 60.7%→0
开发语言·javascript·性能优化·ecmascript·游戏开发·three.js·碰撞检测
码农小河6611 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
东鹏特饮13 小时前
系统运维(传统/通用运维)面试题
开发语言·php
今天要早睡_13 小时前
C++01_入门基础复习
开发语言·c++