在QMessage框中为我的按钮获取名称

时间:2015-07-13 12:13:15

标签: qt qmessagebox

我想在此代码中为我的按钮命名。它是关于QMessageBox。

if(QMessageBox::Ok == QMessageBox(
     QMessageBox::Question,
     "Confirmar registro.",
     "¿Desea confirmar guardar los datos?",
     QMessageBox::Ok,
     tr("Aceptar") | QMessageBox::Cancel ,
     tr("Cancelar")).exec()
   )

3 个答案:

答案 0 :(得分:2)

QPushButton * QMessageBox::addButton(const QString & text, ButtonRole role)创建一个包含给定文字的按钮。

答案 1 :(得分:1)

几乎直接来自自定义消息框中的docs

QMessageBox msgBox;
msgBox.setText("Confirmar registro.");
msgBox.setInformativeText("¿Desea confirmar guardar los datos?");
QAbstractButton *acceptButton = msgBox.addButton("Aceptar", QMessageBox::YesRole);
QAbstractButton *cancelButton = msgBox.addButton("Cancelar", QMessageBox::NoRole);
msgBox.setIcon(QMessageBox::Question);
msgBox.exec();

答案 2 :(得分:0)

您可以使用QAbstractButton方法在QMessageBox添加自定义addButton()

使用示例:

QMessageBox msgBox;
msgBox.setText(trUtf8("Confirmar registro."));
msgBox.setInformativeText("¿Desea confirmar guardar los datos?");
QAbstractButton *myYesButton = msgBox.addButton(trUtf8("Aceptar"), QMessageBox::AcceptRole);
QAbstractButton *myNoButton = msgBox.addButton(trUtf8("Cancelar"), QMessageBox::NoRole);
msgBox.setIcon(QMessageBox::Question);
msgBox.exec();

if(msgBox.clickedButton() == myNoButton)
{
    return;
}