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)。

相关推荐
好吃的肘子39 分钟前
Elasticsearch架构原理
开发语言·算法·elasticsearch·架构·jenkins
nlog3n1 小时前
Go语言交替打印问题及多种实现方法
开发语言·算法·golang
kaixin_learn_qt_ing1 小时前
Golang
开发语言·后端·golang
ddd...e_bug1 小时前
Shell和Bash介绍
开发语言·bash
C4程序员2 小时前
Java百度身份证识别接口实现【配置即用】
java·开发语言
unityのkiven2 小时前
C++中的虚表和虚表指针的原理和示例
开发语言·c++
炒空心菜菜2 小时前
MapReduce 实现 WordCount
java·开发语言·ide·后端·spark·eclipse·mapreduce
(・Д・)ノ2 小时前
python打卡day27
开发语言·python
芯眼2 小时前
STM32启动文件详解(重点)
java·开发语言·c++·stm32·单片机·mybatis
愚润求学3 小时前
【Linux】动静态库链接原理
linux·运维·服务器·开发语言·笔记