QT QMessageBox默认按钮?

时间:2014-04-28 05:13:20

标签: qt

我有一个QMessageBox YesNo个替代品。

QMessageBox::StandardButton reply;
reply = QMessageBox::question(this, "New update", "There is a new update, do you want to update now?", QMessageBox::Yes|QMessageBox::No);

if (reply == QMessageBox::Yes) {

} else {

}

但由于某种原因,默认答案始终为No。如何将默认按钮设置为Yes

我试过了:

reply.setDefaultButton(QMessageBox::Yes);

但无法让它发挥作用。

1 个答案:

答案 0 :(得分:4)

QMessageBox::question可以传递一个默认值为NoButton的额外参数,并且您没有使用该参数,请参阅文档here,因此您的代码将变为:< / p>

reply = QMessageBox::question(this, "New update", "There is a new update, do you want to update now?", QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);