QMessageBox 设置中文按钮(返回值判断)
(一)解决乱码
pragma execution_character_set("UTF-8")
(二)按钮修改为中文
方法一
// 创建一个question弹出对话框,添加两个按钮:Yes和No
QMessageBox *msgBox = new QMessageBox(QMessageBox::Question, tr("对话框标题"), tr("对话框内容"),
QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
// 将原本显示“Yes”的按钮改为显示“是”
msgBox->button(QMessageBox::Yes)->setText("是");
// 将原本显示“No”的按钮改为显示“否”
msgBox->button(QMessageBox::No)->setText("否");
// 将原本显示“xx”的按钮改为显示“不要”
msgBox->button(QMessageBox::Cancel)->setText("不要");
// 弹出对话框
int ret = msgBox->exec();
switch (ret) {
case QMessageBox::Yes:
qDebug() << "1";
break;
case QMessageBox::No:
qDebug() << "2";
break;
case QMessageBox::Cancel:
qDebug() << "3";
break;
}
方法二
QMessageBox box(QMessageBox::Question,"标题","弹出框按钮更改为中文!");
box.setStandardButtons (QMessageBox::Ok|QMessageBox::Cancel);
box.setButtonText (QMessageBox::Ok,QString("确 定"));
box.setButtonText (QMessageBox::Cancel,QString("取 消"));
int ret1 = box.exec ();
switch (ret1) {
case QMessageBox::Ok:
qDebug() << "1";
break;
case QMessageBox::Cancel:
qDebug() << "2";
break;
}
方法三
QMessageBox mess(QMessageBox::Question, "删除提示", "确认删除所选组件?", NULL);
QPushButton *okButton = mess.addButton(tr("确定"), QMessageBox::AcceptRole);
QPushButton *cancelButton = mess.addButton(tr("取消"),QMessageBox::RejectRole);
mess.exec();