QtGui.QMessageBox.information并自定义它

时间:2013-09-08 01:23:55

标签: python qt pyqt qmessagebox

根据你的doucmentation,QtGui.QMessageBox.information()函数可用于创建一个包含许多按钮的对话框,使用以下常量:

QMessageBox.Ok  An “OK” button defined with the AcceptRole .
QMessageBox.Open    A “Open” button defined with the AcceptRole .
QMessageBox.Save    A “Save” button defined with the AcceptRole .
QMessageBox.Cancel  A “Cancel” button defined with the RejectRole .
QMessageBox.Close   A “Close” button defined with the RejectRole .
QMessageBox.Discard     A “Discard” or “Don’t Save” button, depending on the platform, defined with the DestructiveRole .
QMessageBox.Apply   An “Apply” button defined with the ApplyRole .
QMessageBox.Reset   A “Reset” button defined with the ResetRole .
QMessageBox.RestoreDefaults     A “Restore Defaults” button defined with the ResetRole .
QMessageBox.Help    A “Help” button defined with the HelpRole .
QMessageBox.SaveAll     A “Save All” button defined with the AcceptRole .
QMessageBox.Yes     A “Yes” button defined with the YesRole .
QMessageBox.YesToAll    A “Yes to All” button defined with the YesRole .
QMessageBox.No  A “No” button defined with the NoRole .
QMessageBox.NoToAll     A “No to All” button defined with the NoRole .
QMessageBox.Abort   An “Abort” button defined with the RejectRole .
QMessageBox.Retry   A “Retry” button defined with the AcceptRole .
QMessageBox.Ignore  An “Ignore” button defined with the AcceptRole .
QMessageBox.NoButton    An invalid button.

它支持许多功能。

我一直在使用QMessageBox类的文档。

我的问题是,如何更改消息框中按钮的文字?

1 个答案:

答案 0 :(得分:4)

QMessageBox::setButtonText就是您所需要的。

修改

感谢Bakuriu指出这一点。

上面提到的setButtonText方法在与针对Qt4.3或更早版本编译的PyQt / PySide库一起使用时会起作用。 Source

对于更高版本,更改按钮文本将涉及:

button = messageBox.button(which)

button.setText(text)