Arkhan6
Arkhan6

Reputation: 157

Get name to my buttons in QMessage box

I would like put a name for my buttons in this code. It is about a QMessageBox.

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

Upvotes: 1

Views: 312

Answers (3)

Dmon
Dmon

Reputation: 218

QPushButton * QMessageBox::addButton(const QString & text, ButtonRole role) creates a button with the given text.

Upvotes: 2

t3ft3l--i
t3ft3l--i

Reputation: 1412

You can add you custom QAbstractButton at QMessageBox using addButton() method.

Example of usage:

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;
}

Upvotes: 0

acraig5075
acraig5075

Reputation: 10756

Almost straight from the docs on Custom message box.

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();

Upvotes: 1

Related Questions