我可以在'setDefaultButton'中使用我自己的用户定义字符串吗?

时间:2017-10-09 13:39:40

标签: c++ qt qt5 qmessagebox qabstractbutton

我想在按钮上使用我自己的字符串,在下面提到的函数“msgBox.setDefaultButton”和“msgBox.addButton”中:

msgBox.setDefaultButton(QMessageBox::Save);
msgBox.addButton(QMessageBox::Abort);

而不是内置的“保存”和“中止”,我想把自己的文字。

如果有可能请告诉我,或者请给我一个替代上面的行来创建一个带有我自己的随机文本的按钮。

前:

msgBox.setDefaultButton(QMessageBox::"Lakshmi");
msgBox.addButton(QMessageBox::"Kanth");

TIA。

此致 Lakshmikanth .G

1 个答案:

答案 0 :(得分:1)

QMessageBox::SaveQMessageBox::Abort不是您获取文本但是枚举的一部分的变量,并在内部创建带有先前设置的文本的按钮。如果要设置自定义文本,addButton()函数会重载:

void QMessageBox::addButton(QAbstractButton *button, ButtonRole role)
QPushButton *QMessageBox::addButton(const QString &text, ButtonRole role)
QPushButton *QMessageBox::addButton(StandardButton button)

因此,对于您的情况,您可以使用以下任何其他选项:

QMessageBox w;
QPushButton* Lakshmi = w.addButton("Lakshmi", QMessageBox::YesRole);
w.addButton("Kanth", QMessageBox::NoRole);
w.setDefaultButton(Lakshmi);
w.show();