PySide6.QtWidgets.QMessageBox

class QMessageBox

QMessageBox 类提供了一个模态对话框,用于通知用户或向用户提问并接收答案。更多

PySide6.QtWidgets.QMessageBox 的继承图

概要

属性

方法

信号

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

消息框显示一个主要的text以提醒用户某种情况,一个informative text以进一步解释该情况,以及一个可选的detailed text以在用户请求时提供更多数据。

消息框还可以显示一个图标标准 按钮以接受用户响应。

提供了两种使用QMessageBox的API,基于属性的API和静态函数。调用其中一个静态函数是更简单的方法,但它比使用基于属性的API灵活性较差,结果信息也较少。建议使用基于属性的API。

基于属性的API

要使用基于属性的API,构造一个QMessageBox的实例,设置所需的属性,并调用exec()来显示消息。最简单的配置是仅设置message text属性。

msgBox = QMessageBox()
msgBox.setText("The document has been modified.")
msgBox.exec()

用户必须点击确定按钮以关闭消息框。在消息框关闭之前,GUI的其余部分将被阻止。

../../_images/msgbox1.png

比仅仅提醒用户事件更好的方法是询问用户如何处理它。

standard buttons属性设置为您希望作为用户响应集的按钮集。按钮通过使用按位OR运算符组合StandardButtons中的值来指定。按钮的显示顺序取决于平台。例如,在Windows上,保存按钮显示在取消按钮的左侧,而在macOS上,顺序是相反的。将您的一个标准按钮标记为default button

informative text 属性可用于添加额外的上下文,以帮助用户选择适当的操作。

msgBox = QMessageBox()
msgBox.setText("The document has been modified.")
msgBox.setInformativeText("Do you want to save your changes?")
msgBox.setStandardButtons(QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel)
msgBox.setDefaultButton(QMessageBox.Save)
ret = msgBox.exec()
../../_images/msgbox2.png

exec() 槽返回被点击按钮的 StandardButtons 值。

if ret == QMessageBox.Save:
    # Save was clicked
    break
elif ret == QMessageBox.Discard:
    # Don't Save was clicked
    break
elif ret == QMessageBox.Cancel:
    # Cancel was clicked
    break
else:
    # should never be reached
    break

为了给用户提供更多信息以帮助他们选择适当的操作,请设置detailed text属性。根据平台的不同,detailed text可能需要用户点击“显示详情…”按钮才能显示。

../../_images/msgbox3.png

点击显示详情…按钮显示详细文本。

../../_images/msgbox4.png

富文本和文本格式属性

detailed text 属性始终被解释为纯文本。main textinformative text 属性可以是纯文本或富文本。这些字符串根据 text format 属性的设置进行解释。默认设置为自动文本。

请注意,对于一些包含XML元字符的纯文本字符串,自动文本富文本检测测试可能会失败,导致您的纯文本字符串被错误地解释为富文本。在这些罕见的情况下,使用Qt::convertFromPlainText()将您的纯文本字符串转换为视觉上等效的富文本字符串,或者使用setTextFormat()显式设置text format属性。

严重级别及图标和像素图属性

QMessageBox 支持四种预定义的消息严重级别或消息类型,它们的主要区别在于显示的预定义图标。通过将 icon 属性设置为 predefined icons 中的一个来指定四种预定义消息类型之一。以下是指导原则:

../../_images/qmessagebox-quest.png

Question

用于在正常操作期间提出问题。

../../_images/qmessagebox-info.png

Information

用于报告正常操作的信息。

../../_images/qmessagebox-warn.png

Warning

用于报告非关键错误。

../../_images/qmessagebox-crit.png

Critical

用于报告严重错误。

Predefined icons 不是由 QMessageBox 定义的,而是由样式提供的。默认值是 No Icon。在所有情况下,消息框的其他部分都是相同的。当使用标准图标时,请使用表中推荐的图标,或使用适用于您平台的样式指南推荐的图标。如果没有一个标准图标适合您的消息框,您可以通过设置 icon pixmap 属性而不是设置 icon 属性来使用自定义图标。

总之,要设置图标,可以使用setIcon()来设置标准图标之一,或者使用setIconPixmap()来设置自定义图标。

静态函数API

使用静态函数API构建消息框虽然方便,但不如使用基于属性的API灵活,因为静态函数签名缺少设置informative textdetailed text属性的参数。一个变通方法是使用title参数作为消息框的主要文本,使用text参数作为消息框的说明文本。由于这种方法明显降低了消息框的可读性,平台指南不推荐使用。Microsoft Windows用户界面指南建议使用应用程序名称作为window's title,这意味着如果你除了主要文本外还有说明文本,你必须将其连接到text参数中。

请注意,静态函数的签名已经改变了关于它们的按钮参数,这些参数现在用于设置标准 按钮默认 按钮

静态函数可用于创建information()question()warning()critical()消息框。

ret = QMessageBox.warning(self, tr("My Application"),()
                               tr("The document has been modified.\n"
                                  "Do you want to save your changes?"),
                               QMessageBox.Save | QMessageBox.Discard
                               | QMessageBox.Cancel,
                               QMessageBox.Save)

标准对话框示例展示了如何使用QMessageBox和其他内置的Qt对话框。

高级用法

如果standard buttons对于您的消息框来说不够灵活,您可以使用addButton()重载,该重载接受文本和ButtonRole来添加自定义按钮。ButtonRoleQMessageBox用于确定按钮在屏幕上的排序(根据平台不同而有所不同)。您可以在调用exec()后测试clickedButton()的值。例如,

msgBox = QMessageBox()
connectButton = msgBox.addButton(tr("Connect"), QMessageBox.ActionRole)
abortButton = msgBox.addButton(QMessageBox.Abort)
msgBox.exec()
if msgBox.clickedButton() == connectButton:
    # connect
 elif msgBox.clickedButton() == abortButton:
    # abort

默认和转义键

默认按钮(即按下Enter键时激活的按钮)可以使用setDefaultButton()来指定。如果没有指定默认按钮,QMessageBox会尝试根据消息框中使用的按钮的button roles来找到一个。

可以使用setEscapeButton()指定退出按钮(按下Esc键时激活的按钮)。如果未指定退出按钮,QMessageBox会尝试使用以下规则找到一个:

  1. 如果只有一个按钮,按下Esc键时激活的按钮就是它。

  2. 如果有一个Cancel按钮,它是按下Esc键时激活的按钮。

  3. 如果恰好有一个按钮具有the Reject rolethe No role,则按下Esc键时会激活该按钮。

当无法使用这些规则确定退出按钮时,按下Esc键将无效。

另请参阅

QDialogButtonBox 标准对话框示例

class Option

常量

描述

QMessageBox.Option.DontUseNativeDialog

(继承自 enum.Flag) 不使用本地消息对话框。

在版本6.6中添加。

class Icon

此枚举具有以下值:

常量

描述

QMessageBox.NoIcon

消息框没有任何图标。

QMessageBox.Question

一个图标,表示消息正在询问一个问题。

QMessageBox.Information

一个图标,表示消息是普通的。

QMessageBox.Warning

一个图标,表示该消息是一个警告,但可以处理。

QMessageBox.Critical

一个图标,表示消息代表一个严重的问题。

class ButtonRole

此枚举描述了可用于描述按钮框中按钮的角色。这些角色的组合作为标志,用于描述其行为的不同方面。

常量

描述

QMessageBox.InvalidRole

按钮无效。

QMessageBox.AcceptRole

点击按钮会导致对话框被接受(例如确定)。

QMessageBox.RejectRole

点击按钮会导致对话框被拒绝(例如取消)。

QMessageBox.DestructiveRole

点击按钮会导致破坏性更改(例如,放弃更改)并关闭对话框。

QMessageBox.ActionRole

点击按钮会导致对话框内的元素发生变化。

QMessageBox.HelpRole

可以点击该按钮以请求帮助。

QMessageBox.YesRole

该按钮是一个“是”类型的按钮。

QMessageBox.NoRole

该按钮是一个“否”类型的按钮。

QMessageBox.ApplyRole

该按钮应用当前更改。

QMessageBox.ResetRole

该按钮将对话框的字段重置为默认值。

另请参阅

StandardButton

class StandardButton

(继承自 enum.IntFlag) 这些枚举描述了标准按钮的标志。每个按钮都有一个定义的 ButtonRole

常量

描述

QMessageBox.Ok

一个“确定”按钮,使用AcceptRole定义。

QMessageBox.Open

一个使用AcceptRole定义的“打开”按钮。

QMessageBox.Save

一个使用AcceptRole定义的“保存”按钮。

QMessageBox.Cancel

一个“取消”按钮,使用RejectRole定义。

QMessageBox.Close

一个定义为 RejectRole 的“关闭”按钮。

QMessageBox.Discard

一个“丢弃”或“不保存”按钮,具体取决于平台,使用DestructiveRole定义。

QMessageBox.Apply

一个“应用”按钮,使用ApplyRole定义。

QMessageBox.Reset

一个使用 ResetRole 定义的“重置”按钮。

QMessageBox.RestoreDefaults

一个“恢复默认值”按钮,使用ResetRole定义。

QMessageBox.Help

一个使用 HelpRole 定义的“帮助”按钮。

QMessageBox.SaveAll

一个“保存全部”按钮,使用AcceptRole定义。

QMessageBox.Yes

一个使用 YesRole 定义的“是”按钮。

QMessageBox.YesToAll

一个定义为 YesRole 的“全部是”按钮。

QMessageBox.No

一个“否”按钮,使用NoRole定义。

QMessageBox.NoToAll

一个“全部否”按钮,使用NoRole定义。

QMessageBox.Abort

一个“中止”按钮,使用RejectRole定义。

QMessageBox.Retry

一个“重试”按钮,使用AcceptRole定义。

QMessageBox.Ignore

一个“忽略”按钮,使用AcceptRole定义。

QMessageBox.NoButton

一个无效的按钮。

以下值已过时:

常量

描述

QMessageBox.YesAll

请改用YesToAll。

QMessageBox.NoAll

请改用 NoToAll。

QMessageBox.Default

使用 defaultButton 参数代替 information()warning() 等,或者调用 setDefaultButton()

QMessageBox.Escape

请改为调用 setEscapeButton()

QMessageBox.FlagMask

QMessageBox.ButtonMask

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property detailedTextᅟ: str

此属性保存要在详细信息区域显示的文本。

文本将被解释为纯文本。

默认情况下,此属性包含一个空字符串。

另请参阅

text informativeText

Access functions:
property iconᅟ: QMessageBox.Icon

此属性保存消息框的图标。

消息框的图标可以使用以下值之一来指定:

默认是 NoIcon

用于显示实际图标的pixmap取决于当前的GUI style。您还可以通过设置icon pixmap属性来为图标设置自定义的pixmap。

另请参阅

iconPixmap

Access functions:
property iconPixmapᅟ: QPixmap

此属性保存当前图标。

当前消息框使用的图标。请注意,通常很难绘制一个在所有GUI样式中都看起来合适的像素图;您可能希望为每个平台提供不同的像素图。

默认情况下,此属性未定义。

另请参阅

icon

Access functions:
property informativeTextᅟ: str

此属性保存提供消息更详细描述的信息性文本。

信息性文本可以用来扩展text(),以向用户提供更多信息,例如描述情况的后果或建议替代解决方案。

文本将被解释为纯文本或富文本,具体取决于文本格式设置(textFormat)。默认设置为Qt::AutoText,即消息框将尝试自动检测文本的格式。

默认情况下,此属性包含一个空字符串。

Access functions:
property optionsᅟ: Combination of QAbstractFileIconProvider.Option

此属性包含影响对话框外观和感觉的选项。

默认情况下,这些选项是禁用的。

选项 DontUseNativeDialog 应在更改对话框属性或显示对话框之前设置。

在对话框可见时设置选项不保证会立即对对话框产生影响。

在更改其他属性后设置选项可能会导致这些值无效。

另请参阅

setOption() testOption()

Access functions:
property standardButtonsᅟ: Combination of QDialogButtonBox.StandardButton

此属性保存消息框中标准按钮的集合。

此属性控制消息框使用哪些标准按钮。

默认情况下,此属性不包含任何标准按钮。

另请参阅

addButton()

Access functions:
property textᅟ: str

此属性保存要显示的消息框文本。

文本应是一个简短的句子或短语,描述情况,最好以中性陈述或行动号召问题的形式表达。

文本将被解释为纯文本或富文本,具体取决于文本格式设置(textFormat)。默认设置为Qt::AutoText,即消息框将尝试自动检测文本的格式。

此属性的默认值为空字符串。

Access functions:
property textFormatᅟ: Qt.TextFormat

此属性保存消息框显示的文本格式。

消息框当前使用的文本格式。有关可能选项的解释,请参见Qt::TextFormat枚举。

默认格式是 Qt::AutoText。

另请参阅

setText()

Access functions:
property textInteractionFlagsᅟ: Combination of Qt.TextInteractionFlag

指定消息框的标签应如何与用户输入交互。

默认值取决于样式。

Access functions:
__init__([parent=None])
Parameters:

父级QWidget

构造一个没有文本和按钮的应用程序模态消息框。parent 被传递给 QDialog 构造函数。

窗口模式可以在调用show()之前通过setWindowModality()进行覆盖。

注意

使用 open()exec() 显示消息框会影响窗口的模态。请参阅每个函数的详细文档以获取更多信息。

在macOS上,如果您希望您的消息框显示为其父窗口的Qt::Sheet,请将消息框的窗口模态设置为Qt::WindowModal或使用open()。否则,消息框将是一个标准对话框。

__init__(icon, title, text[, buttons=QMessageBox.StandardButton.NoButton[, parent=None[, flags=Qt.Dialog | Qt.MSWindowsFixedSizeDialogHint]]])
Parameters:

使用给定的icontitletext和标准buttons构建一个应用程序模态消息框。可以随时使用addButton()添加标准或自定义按钮。parentf参数传递给QDialog构造函数。

窗口模式可以在调用show()之前通过setWindowModality()进行覆盖。

注意

使用 open()exec() 显示消息框会影响窗口的模态。请参阅每个函数的详细文档以获取更多信息。

在macOS上,如果parent不是None,并且你希望你的消息框作为该父窗口的Qt::Sheet显示,请将消息框的window modality设置为Qt::WindowModal(默认)。否则,消息框将是一个标准对话框。

static about(parent, title, text)
Parameters:
  • parentQWidget

  • 标题 – str

  • 文本 – str

显示一个简单的关于框,标题为title,文本为text。关于框的父级是parent

about() 在四个位置寻找合适的图标:

  1. 如果存在,它更倾向于使用parent->icon()

  2. 如果没有,它会尝试包含 parent 的顶层小部件。

  3. 如果失败,它会尝试 PySide6.QtWidgets.QApplication.activeWindow()

  4. 作为最后的手段,它使用信息图标。

关于框有一个标记为“OK”的按钮。

在macOS上,关于框以无模式窗口弹出;在其他平台上,它目前是应用程序模态的。

static aboutQt(parent[, title=""])
Parameters:
  • parentQWidget

  • 标题 – str

显示一个关于Qt的简单消息框,带有给定的title并居中于parent(如果parent不是None)。消息包括应用程序使用的Qt版本号。

这对于包含在应用程序的帮助菜单中非常有用,如菜单示例所示。

QApplication 提供了这个功能作为一个槽。

在macOS上,aboutQt框以无模式窗口弹出;在其他平台上,它目前是应用程序模态的。

另请参阅

aboutQt()

addButton(button)
Parameters:

按钮StandardButton

Return type:

QPushButton

这是一个重载函数。

如果有效,则向消息框添加一个标准的button,并返回该按钮。

另请参阅

setStandardButtons()

addButton(button, role)
Parameters:

将给定的button添加到消息框中,并指定role

addButton(text, role)
Parameters:
Return type:

QPushButton

这是一个重载函数。

创建一个带有给定text的按钮,将其添加到指定role的消息框中,并返回它。

button(which)
Parameters:

哪个StandardButton

Return type:

QAbstractButton

返回与标准按钮which对应的指针,如果此消息框中不存在该标准按钮,则返回None

注意

修改返回按钮的属性可能不会反映在消息对话框的原生实现中。要自定义对话框按钮,请添加custom buttonbutton title,或者设置DontUseNativeDialog选项。

buttonClicked(button)
Parameters:

按钮QAbstractButton

每当在QMessageBox内点击按钮时,都会发出此信号。点击的按钮在button中返回。

buttonRole(button)
Parameters:

按钮QAbstractButton

Return type:

ButtonRole

返回指定button的按钮角色。如果buttonNone或尚未添加到消息框中,则此函数返回InvalidRole

另请参阅

buttons() addButton()

buttonText(button)
Parameters:

button – 整数

Return type:

字符串

注意

此函数已弃用。

返回消息框按钮 button 的文本,如果消息框不包含该按钮,则返回空字符串。

使用 button()text() 代替。

另请参阅

setButtonText()

buttons()
Return type:

QAbstractButton的列表

返回已添加到消息框的所有按钮的列表。

checkBox()
Return type:

QCheckBox

返回对话框中显示的复选框。如果没有设置复选框,则为None

另请参阅

setCheckBox()

clickedButton()
Return type:

QAbstractButton

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

返回用户点击的按钮,如果用户按下Esc键且未设置escape button,则返回None

如果 exec() 尚未被调用,则返回 nullptr。

示例:

messageBox = QMessageBox(self)
disconnectButton =
      messageBox.addButton(tr("Disconnect"), QMessageBox.ActionRole)
...
messageBox.exec()
if messageBox.clickedButton() == disconnectButton:
    ...

另请参阅

standardButton() button()

static critical(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])
Parameters:
Return type:

StandardButton

在指定的parent小部件前打开一个带有给定titletext的关键消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的身份。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

static critical(parent, title, text, button0, button1)
Parameters:
Return type:

整数

在指定的parent小部件前打开一个带有给定titletext的关键消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

defaultButton()
Return type:

QPushButton

返回应该作为消息框默认 按钮的按钮。如果未设置默认按钮,则返回nullptr。

detailedText()
Return type:

字符串

另请参阅

setDetailedText()

属性 detailedTextᅟ 的获取器。

escapeButton()
Return type:

QAbstractButton

返回按下退出键时激活的按钮。

默认情况下,QMessageBox 尝试自动检测一个退出按钮,如下所示:

  1. 如果只有一个按钮,它将被设为取消按钮。

  2. 如果有一个Cancel按钮,它将被设为退出按钮。

  3. 仅在macOS上,如果只有一个按钮具有角色RejectRole,则该按钮被设为退出按钮。

当无法自动检测到退出按钮时,按下Esc键将无效。

icon()
Return type:

图标

另请参阅

setIcon()

属性 iconᅟ 的获取器。

iconPixmap()
Return type:

QPixmap

另请参阅

setIconPixmap()

属性 iconPixmapᅟ 的获取器。

static information(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])
Parameters:
Return type:

StandardButton

在指定的parent小部件前打开一个带有给定titletext的信息消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

static information(parent, title, text, button0[, button1=QMessageBox.StandardButton.NoButton])
Parameters:
Return type:

StandardButton

在指定的parent小部件前打开一个带有给定titletext的信息消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

informativeText()
Return type:

字符串

另请参阅

setInformativeText()

属性 informativeTextᅟ 的获取器。

open(functor)
Parameters:

函子PyCallable

open(receiver, member)
Parameters:
  • receiverQObject

  • member – str

打开对话框并将其finished()buttonClicked()信号连接到由receivermember指定的槽。如果member中的槽的第一个参数是指针,则连接到buttonClicked(),否则连接到finished()

当对话框关闭时,信号将从插槽断开。

options()
Return type:

Option的组合

另请参阅

setOptions()

static question(parent, title, text[, buttons=QMessageBox.StandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)[, defaultButton=QMessageBox.StandardButton.NoButton]])
Parameters:
Return type:

StandardButton

在指定的parent小部件前打开一个带有给定titletext的问题消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

static question(parent, title, text, button0, button1)
Parameters:
Return type:

整数

在指定的parent小部件前打开一个带有给定titletext的问题消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

removeButton(button)
Parameters:

按钮QAbstractButton

从按钮框中移除button而不删除它。

setButtonText(button, text)
Parameters:
  • button – int

  • 文本 – str

注意

此函数已弃用。

将消息框按钮 button 的文本设置为 text。设置不在消息框中的按钮的文本将被静默忽略。

请使用addButton()代替。

另请参阅

buttonText()

setCheckBox(cb)
Parameters:

cbQCheckBox

设置消息对话框中的复选框 cb。消息框将拥有该复选框的所有权。参数 cb 可以是 None,以从消息框中移除现有的复选框。

另请参阅

checkBox()

setDefaultButton(button)
Parameters:

按钮StandardButton

将消息框的默认 按钮设置为button

setDefaultButton(button)
Parameters:

按钮QPushButton

将消息框的默认 按钮设置为button

另请参阅

addButton() setDefault()

setDetailedText(text)
Parameters:

文本 – str

另请参阅

detailedText()

属性 detailedTextᅟ 的设置器。

setEscapeButton(button)
Parameters:

按钮QAbstractButton

设置按下Escape键时激活的按钮为button

setEscapeButton(button)
Parameters:

按钮StandardButton

设置按下Escape键时激活的按钮为button

setIcon(arg__1)
Parameters:

arg__1Icon

另请参阅

icon()

属性 iconᅟ 的设置器。

setIconPixmap(pixmap)
Parameters:

pixmapQPixmap

另请参阅

iconPixmap()

属性 iconPixmapᅟ 的设置器。

setInformativeText(text)
Parameters:

文本 – str

另请参阅

informativeText()

属性 informativeTextᅟ 的设置器。

setOption(option[, on=true])
Parameters:
  • optionOption

  • on – 布尔值

如果on为真,则启用给定的option;否则,清除给定的option

选项(特别是DontUseNativeDialog选项)应在显示对话框之前设置。

在对话框可见时设置选项不保证会立即对对话框产生影响。

在更改其他属性后设置选项可能会导致这些值无效。

另请参阅

options testOption()

setOptions(options)
Parameters:

optionsOption 的组合

另请参阅

options()

setStandardButtons(buttons)
Parameters:

buttonsStandardButton 的组合

另请参阅

standardButtons()

setText(text)
Parameters:

文本 – str

另请参阅

text()

属性 textᅟ 的设置器。

setTextFormat(format)
Parameters:

formatTextFormat

另请参阅

textFormat()

属性 textFormatᅟ 的设置器。

setTextInteractionFlags(flags)
Parameters:

flagsTextInteractionFlag 的组合

另请参阅

textInteractionFlags()

属性 textInteractionFlagsᅟ 的设置器。

setWindowModality(windowModality)
Parameters:

windowModalityWindowModality

此函数遮蔽了setWindowModality()

将消息框的模式设置为 windowModality

在macOS上,如果模态设置为Qt::WindowModal并且消息框有父窗口,那么消息框将是一个Qt::Sheet,否则消息框将是一个标准对话框。

setWindowTitle(title)
Parameters:

标题 – str

此函数遮蔽了setWindowTitle()

将消息框的标题设置为 title。在 macOS 上,窗口标题被忽略(根据 macOS 指南的要求)。

standardButton(button)
Parameters:

按钮QAbstractButton

Return type:

StandardButton

返回与给定button对应的标准按钮枚举值,如果给定的button不是标准按钮,则返回NoButton

standardButtons()
Return type:

StandardButton的组合

另请参阅

setStandardButtons()

static standardIcon(icon)
Parameters:

图标Icon

Return type:

QPixmap

注意

此函数已弃用。

返回用于标准图标的像素图。这使得像素图可以在更复杂的消息框中使用。icon 指定所需的图标,例如 QuestionInformationWarningCritical

调用 standardIcon() 并使用 SP_MessageBoxInformation 等代替。

testOption(option)
Parameters:

选项Option

Return type:

布尔

如果给定的option已启用,则返回true;否则,返回false。

另请参阅

options setOption()

text()
Return type:

字符串

另请参阅

setText()

属性 textᅟ 的获取器。

textFormat()
Return type:

TextFormat

另请参阅

setTextFormat()

属性 textFormatᅟ 的获取器。

textInteractionFlags()
Return type:

TextInteractionFlag 的组合

属性 textInteractionFlagsᅟ 的获取器。

static warning(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])
Parameters:
Return type:

StandardButton

在指定的parent小部件前打开一个带有给定titletext的警告消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。

static warning(parent, title, text, button0, button1)
Parameters:
Return type:

整数

在指定的parent小部件前打开一个带有给定titletext的警告消息框。

标准的buttons被添加到消息框中。defaultButton指定了按下Enter键时使用的按钮。defaultButton必须引用在buttons中给出的按钮。如果defaultButtonNoButtonQMessageBox会自动选择一个合适的默认值。

返回被点击的标准按钮的标识。如果按下的是Esc键,则返回escape button

消息框是一个应用程序模态对话框。

警告

在执行对话框期间不要删除parent。如果你想这样做,你应该使用QMessageBox的构造函数之一自己创建对话框。