C++ QMessageBox addButton()使用标准图标/显示

C++ QMessageBox addButton()使用标准图标/显示,c++,qt,C++,Qt,我试图使我们的弹出消息框有更合适的文本,而不是一般的“确定”、“取消”等。然而,我没有看到一个简单的方法来获得按钮上的标准图标 例如,通常,QMessageBox::Save按钮有一个图标。相反,我希望文本是“保存部分”,但由于这本质上仍然是一个保存操作,所以最好有相同的图标 我很高兴将此绑定到角色,因为我的所有自定义测试按钮都映射到一个标准角色。有什么简单的方法可以将标准图标添加到自定义按钮上吗?将带有的按钮添加到QMessageBox,然后使用所需返回的图标调用按钮。将带有的按钮添加到QMe

我试图使我们的弹出消息框有更合适的文本,而不是一般的“确定”、“取消”等。然而,我没有看到一个简单的方法来获得按钮上的标准图标

例如,通常,
QMessageBox::Save
按钮有一个图标。相反,我希望文本是“保存部分”,但由于这本质上仍然是一个保存操作,所以最好有相同的图标


我很高兴将此绑定到角色,因为我的所有自定义测试按钮都映射到一个标准角色。有什么简单的方法可以将标准图标添加到自定义按钮上吗?

将带有的按钮添加到QMessageBox,然后使用所需返回的图标调用按钮。

将带有的按钮添加到QMessageBox,然后使用您想要的返回的图标调用按钮。

如果您只想更改
标准按钮上的文本,但保留标准图标,则可以执行以下操作:

QMessageBox *box = new QMessageBox("title", "text", QMessageBox::NoIcon, QMessageBox::Save, QMessageBox::Close, QMessageBox::Open);
box->button(QMessageBox::Save)->setText("Save part");
box->show();
这将导致以下结果:


如果您只想更改
标准按钮上的文本,但保留标准图标,则按钮将保持相同的角色,您可以执行以下操作:

QMessageBox *box = new QMessageBox("title", "text", QMessageBox::NoIcon, QMessageBox::Save, QMessageBox::Close, QMessageBox::Open);
box->button(QMessageBox::Save)->setText("Save part");
box->show();
这将导致以下结果:

按钮将保持相同的角色