效果
直接点击键盘是Enter/Space默认选择No这个Button
代码
QMessageBox *mpMessageBox = new QMessageBox(QMessageBox::Question,"Title",tr("Do you want to exit?"));
QPushButton *mpPushButtonYes = mpMessageBox->addButton(tr("Yes"),QMessageBox::ActionRole);
QPushButton *mpPushButtonNo = mpMessageBox->addButton(tr("No"),QMessageBox::ActionRole);
mpMessageBox->setDefaultButton(mpPushButtonNo);
mpMessageBox->show();
if(mpMessageBox->exec() == QDialog::Accepted)
{
if(mpPushButtonYes->isChecked())
{
event->accept();
}
else
{
event->ignore();
}
}