class QMessageBox#

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

Inheritance diagram of PySide6.QtWidgets.QMessageBox

概述#

属性#

方法#

信号#

静态函数#

注意

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

详细说明#

警告

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

消息框显示一个主要的 text 用于提醒用户注意某个情况,一个 informative text 用于进一步解释该情况,如果用户请求,还可以提供可选的 detailed text 以提供更多数据。

消息框还可以显示 iconstandard buttons 以接受用户响应。

提供两个用于使用 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属性设置为所需的用户响应按钮集。按钮是通过使用位或运算符组合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属性。根据平台,《code class="xref py py-meth docutils literal notranslate">detailed text可能会要求用户点击"显示详细信息..."按钮来显示。

../../_images/msgbox3.png

点击"显示详细信息..."按钮将显示详细信息。

../../_images/msgbox4.png

富文本和文本格式属性#

detailed text属性始终被解释为纯文本。主文本textinformative text属性可以是纯文本或富文本。这些字符串的解释取决于text format属性的设置。默认设置是自动文本。

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

严重级别和图标及位图属性#

QMessageBox 支持四种预定义的消息严重程度级别,或者说消息类型,这些类型之间真正不同的是显示的预定义图标。通过将 icon 属性设置为以下预定义图标之一,指定四种预定义消息类型之一。以下规则仅供参考:

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

问题

在正常操作期间提问时使用。

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

信息

报告有关正常操作的信息时使用。

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

警告

报告非严重错误。

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

严重

报告严重错误。

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

总之,要设置图标,可以使用 iconSet setIcon() 中的一个标准图标, setIconPixmap() 以自定义图标。

静态函数 API

使用静态函数API构建消息框虽然方便,但相较于基于属性的API来说灵活性较低,因为静态函数签名缺少设置 informative textdetailed text 属性的参数。一种解决办法是将 title 参数作为消息框的主文本,将 text 参数作为消息框的信息文本。由于这种方法会降低消息框的可读性,因此平台指南不建议使用。根据 Microsoft Windows 用户界面指南 建议使用应用名作为 窗口标题 ,这意味着如果您除了主文本外还有信息文本,必须将其连接到 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 对话框。

高级使用#

如果标准按钮不足以满足您的消息框,您可以使用接受文本和ButtonRoleaddButton()重载来添加自定义按钮。 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

默认和Esc键#

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

可以使用setEscapeButton()指定Esc键(即在按下Esc时激活的按钮)。如果没有指定Esc键,QMessageBox会尝试使用以下规则来找到Esc键

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

  2. 如果有一个取消按钮,它是Esc被按下时激活的按钮。

  3. 如果有且只有一个按钮具有驳回 角色 角色,它就是Esc被按下时激活的按钮。

如果无法使用这些规则确定Esc按钮,按下Esc则没有效果。

另请参阅

QDialogButtonBox 标准对话框示例

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

点击此按钮会导致对话框被接受(例如,OK)。

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 的“OK”按钮。

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

使用 information()warning() 等方法的 defaultButton 参数,或调用 setDefaultButton() 方法。

QMessageBox.Escape

使用 setEscapeButton() 方法。

QMessageBox.FlagMask

QMessageBox.ButtonMask

注意

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

属性detailedText: str#

此属性存储了将在详细信息区域中显示的文本。

文本将被解释为纯文本。

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

另请参阅

text informativeText

访问函数
属性icon: QMessageBox.Icon#

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

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

默认为 NoIcon .

用于显示实际图标的位图取决于当前的 GUI 样式 . 您也可以通过设置 iconPixmap 属性来为图标设置一个自定义的位图。

另请参阅

iconPixmap

访问函数
属性iconPixmap: QPixmap#

此属性存储当前图标。

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

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

另请参阅

icon

访问函数
属性informativeText: str#

此属性存储提供对消息更完整描述的说明性文本。

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

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

另请参阅

text detailedText

访问函数
属性options: QAbstractFileIconProvider.Option 的组合#

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

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

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

当对话框可见时设置选项,并不能保证立即对对话框产生影响。

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

另请参阅

setOption() testOption()

访问函数
属性standardButtons: QDialogButtonBox.StandardButton 的组合#

此属性包含消息框中的标准按钮集合。

此属性控制消息框中使用的标准按钮。

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

另请参阅

addButton()

访问函数
属性text: str#

此属性包含要显示的消息框文本。

文本应为一句话或短语,简要描述情况,最好是中性的陈述或行动号召问题。

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

此属性的默认值是一个空字符串。

访问函数
属性 textFormat: Qt.TextFormat#

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

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

默认格式为 Qt::AutoText。

另请参阅

setText()

访问函数
属性 textInteractionFlags: Qt.TextInteractionFlag 的组合#

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

默认值取决于样式。

访问函数
__init__([parent=None])#
参数: :

parent - QWidget

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

可以通过在调用 show() 之前调用 setWindowModality() 来覆盖窗口模态。

注意

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

在 macOS 上,如果您想使消息框以 Qt::Sheet 的形式出现在其 parent 中,请将消息框的 window modality 设置为 Qt::WindowModal 或使用 open() 。否则,消息框将是一个标准对话框。

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

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

可以通过在调用 show() 之前调用 setWindowModality() 来覆盖窗口模态。

注意

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

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

static about(parent, title, text)#
参数: :
  • parent - QWidget

  • title – str

  • text – str

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

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

  1. 如果存在,则首选 parent->icon()

  2. 如果不存在,则尝试包含 parent 的顶层小部件。

  3. 如果这也不可行,则尝试 PySide6.QtWidgets.QApplication.activeWindow()

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

关于框有一个名为“OK”的单个按钮。

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

static aboutQt(parent[, title=""])#
参数: :

显示一个简单的包含 Qt 信息的消息框,带有指定 title,并且在 parent 的中心显示(如果 parent 不是 None)。消息包括应用程序正在使用的 Qt 版本号。

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

QApplication 以槽位的形式提供此功能。

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

另请参阅

aboutQt()

addButton(button, role)#
参数: :

将指定的 button 添加到消息框中,带有指定的 role

addButton(button)
参数: :

buttonStandardButton

返回类型

QPushButton

这是一个重载函数。

如果这样做是合理的,将添加一个标准 button 到消息框中,并返回一个按钮。

另请参阅

setStandardButtons()

addButton(text, role)
参数: :
返回类型

QPushButton

这是一个重载函数。

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

button(which)#
参数: :

whichStandardButton

返回类型

QAbstractButton

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

注意

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

buttonClicked(button)#
参数: :

buttonQAbstractButton

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

buttonRole(button)#
参数: :

buttonQAbstractButton

返回类型

ButtonRole

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

另请参阅

buttons() addButton()

buttonText(button)#
参数: :

button – int

返回类型

str

注意

此函数已弃用。

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

请使用 button()text()

另请参阅

setButtonText()

buttons()#
返回类型

.列表 QAbstractButton

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

checkBox()#
返回类型

QCheckBox

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

另请参阅

setCheckBox()

clickedButton()#
返回类型

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, button0, button1)#
参数: :
返回类型

int

以给定的 titletext 在指定的 parent 小部件之前打开一个严重消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

static critical(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])
参数: :
返回类型

StandardButton

以给定的 titletext 在指定的 parent 小部件之前打开一个严重消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

defaultButton()#
返回类型

QPushButton

返回应成为消息框的默认按钮的按钮。如果没有设置默认按钮,则返回nullptr。

detailedText()#
返回类型

str

另请参阅

setDetailedText()

属性detailedText的获取器。

escapeButton()#
返回类型

QAbstractButton

当按下Esc键时,返回被激活的按钮。

默认情况下,QMessageBox将尝试自动检测escape按钮,如下所述

  1. 如果只有一个按钮,则将其设置为escape按钮。

  2. 如果有一个Cancel按钮,则将其设置为escape按钮。

  3. 仅在macOS上,如果有一个按钮的职能是RejectRole,则该按钮将成为退出按钮。

当无法自动检测到退出按钮时,按下Esc键不会有任何效果。

另请参阅

setEscapeButton() addButton()

icon()#
返回类型

图标

另请参阅

setIcon()

获取属性 icon 的值。

iconPixmap()#
返回类型

QPixmap

另请参阅

setIconPixmap()

获取属性 iconPixmap 的值。

静态information(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])#
参数: :
返回类型

StandardButton

在指定的父窗口小部件前打开一个带给定 标题文本 的信息消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

另请参阅

question() warning() critical()

静态information(parent, title, text, button0[, button1=QMessageBox.StandardButton.NoButton])
参数: :
返回类型

StandardButton

在指定的父窗口小部件前打开一个带给定 标题文本 的信息消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

另请参阅

question() warning() critical()

informativeText()#
返回类型

str

另请参阅

setInformativeText()

获取属性 informativeText 的值。

open(receiver, member)#
参数: :
  • receiverQObject

  • 成员 – 字符串

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

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

options()#
返回类型

Option 的组合

另请参阅

setOptions()

静态 question(parent, title, text[, buttons=QMessageBox.StandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)[, defaultButton=QMessageBox.StandardButton.NoButton]])#
参数: :
返回类型

StandardButton

在指定 parent 小部件前面弹出一个标题为 title 和文本为 text 的询问消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

静态 question(parent, title, text, button0, button1)
参数: :
返回类型

int

在指定 parent 小部件前面弹出一个标题为 title 和文本为 text 的询问消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

removeButton(button)#
参数: :

buttonQAbstractButton

从按钮框中移除 button ,但不会删除它。

setButtonText(button, text)#
参数: :
  • button – int

  • text – str

注意

此函数已弃用。

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

请使用 addButton() 代替。

另请参阅

buttonText()

setCheckBox(cb)#
参数: :

cbQCheckBox

设置消息对话框上的复选框 cb。消息框将拥有复选框。参数 cb 可以是 None 以从消息框中删除现有的复选框。

另请参阅

checkBox()

setDefaultButton(button)#
参数: :

buttonStandardButton

将消息框的 default button 设置为 button

另请参阅

addButton() setDefault()

setDefaultButton(button)
参数: :

buttonQPushButton

将消息框的 default button 设置为 button

setDetailedText(text)#
参数: :

text – str

另请参阅

detailedText()

属性 detailedTextᅟ 的设置器。

setEscapeButton(button)#
参数: :

buttonQAbstractButton

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

setEscapeButton(button)
参数: :

buttonStandardButton

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

setIcon(arg__1)#
参数: :

arg__1Icon

另请参阅

icon()

属性 icon 的设置器。

setIconPixmap(pixmap)#
参数: :

pixmapQPixmap

另请参阅

iconPixmap()

属性 iconPixmap 的设置器。

setInformativeText(text)#
参数: :

text – str

另请参阅

informativeText()

属性 informativeText 的设置器。

setOption(option[, on=true])#
参数: :
  • optionOption

  • on – bool

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

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

当对话框可见时设置选项,并不能保证立即对对话框产生影响。

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

另请参阅

options testOption()

setOptions(options)#
参数: :

optionsOption 的组合

另请参阅

options()

setStandardButtons(buttons)#
参数: :

buttonsStandardButton 的组合

另请参阅

standardButtons()

setText(text)#
参数: :

text – str

另请参阅

text()

属性 text 的设置器。

setTextFormat(format)#
参数: :

formatTextFormat

另请参阅

textFormat()

属性 textFormat 的设置器。

setTextInteractionFlags(flags)#
参数: :

flagsTextInteractionFlag 的组合

另请参阅

textInteractionFlags()

属性 textInteractionFlags 的设置器。

setWindowModality(windowModality)#
参数: :

windowModalityWindowModality

此函数覆盖了 setWindowModality()

设置消息框的模态为 windowModality

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

setWindowTitle(title)#
参数: :

title – str

此函数覆盖了 setWindowTitle()

将消息框的标题设置为 title。在 macOS 上,窗口标题被忽略(遵循 macOS 指引)。

standardButton(button)#
参数: :

buttonQAbstractButton

返回类型

StandardButton

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

standardButtons()#
返回类型

组合了 StandardButton

另请参阅

setStandardButtons()

static standardIcon(icon)#
参数: :

iconIcon

返回类型

QPixmap

注意

此函数已弃用。

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

请用 standardIcon()SP_MessageBoxInformation 等代替。

testOption(option)#
参数: :

optionOption

返回类型

bool

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

另请参阅

options setOption()

text()#
返回类型

str

另请参阅

setText()

属性 textᅟ 的获取器。

textFormat()#
返回类型

TextFormat

另请参阅

setTextFormat()

属性 textFormatᅟ 的获取器。

textInteractionFlags()#
返回类型

组合了 TextInteractionFlag

属性 textInteractionFlagsᅟ 的获取器。

静态 warning(parent, title, text[, buttons=QMessageBox.StandardButton.Ok[, defaultButton=QMessageBox.StandardButton.NoButton]])#
参数: :
返回类型

StandardButton

在指定 parent 控件前打开带有给定 titletext 的警告消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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

静态 warning(parent, title, text, button0, button1)
参数: :
返回类型

int

在指定 parent 控件前打开带有给定 titletext 的警告消息框。

将标准 buttons 添加到消息框中。 defaultButton 指定按 Enter 键时使用的按钮。 defaultButton 必须引用在 buttons 中给出的按钮。如果 defaultButtonNoButton ,则 QMessageBox 会自动选择合适的默认选项。

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

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

警告

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