有粉丝看了《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)。