对话框 QML 类型

带有标准按钮和标题的弹出对话框,用于与用户进行短期交互。 更多...

导入语句import QtQuick.Controls
继承

弹出窗口

属性

信号

  • accepted()
  • applied() (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)
  • discarded() (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)
  • helpRequested() (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)
  • rejected()
  • reset() (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)

方法

  • void accept()
  • void done(int result) (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)
  • void reject()
  • AbstractButton standardButton(StandardButton button) (自 QtQuick.Controls 2.3 (Qt 5.10) 起有效)

详细说明

对话框主要用于短期任务和与用户的简短交流的弹出窗口。类似于应用程序窗口页面,对话框组织为三个部分:标题栏内容项页脚

填充》属性仅影响内容项。使用间隔属性来影响标题栏、内容项和页脚之间的空间。

默认情况下,对话框具有焦点

对话框标题和按钮

对话框的标题通过一个特定风格的标题栏显示,默认将其分配为对话框的标题栏

对话框的标准按钮由一个默认分配为对话框页脚对话框按钮框管理。对话框的标准按钮属性转发到按钮框的相关属性。此外,按钮框的accepted()和rejected()信号连接到对话框中相应的信号。

Dialog {
    id: dialog
    title: "Title"
    standardButtons: Dialog.Ok | Dialog.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

一个模式对话框阻止对话框下的其他内容的输入。当一个模式对话框打开时,用户必须在与其他内容交互并关闭对话框之前,才能访问同一窗口中的其他内容。

Dialog {
    id: dialog
    modal: true
    standardButtons: Dialog.Ok
}

非模式对话框

非模式对话框是一种独立于对话框周围其他内容运行的对话框。当非模式对话框打开时,用户可以与对话框和同一窗口中的其他内容交互。

Dialog {
    id: dialog
    modal: false
    standardButtons: Dialog.Ok
}

另请参阅对话框按钮框弹出控件

属性文档

此属性包含对话框页脚项。页脚项定位在底部,并调整至对话框宽度。默认值为null

注意:对话框按钮框分配为对话框页脚将自动将它的accepted()和rejected()信号连接到对话框中的相应信号。

注意:对话框按钮框工具栏标签栏分配为对话框页脚时,将自动将相应的对话框按钮框::位置工具栏::位置标签栏::位置附加属性设置为Footer

另请参阅标题栏


header : 项目

此属性包含对话框标题栏项。标题栏项定位在顶部,并调整至对话框宽度。默认值为null

注意:DialogButtonBox 分配为对话框标题会自动将其 accepted() 和 rejected() 信号连接到对话框中的相应信号。

注意:DialogButtonBoxToolBarTabBar 分配为对话框标题会自动将相应的 DialogButtonBox::positionToolBar::positionTabBar::position 属性设置为 Header

另请参阅:footer


implicitFooterHeight : real [只读,自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

此属性存储隐式页脚高度。

值等于 footer && footer.visible ? footer.implicitHeight : 0

此属性自 QtQuick.Controls 2.5 (Qt 5.12) 引入。

另请参阅:implicitFooterWidthimplicitHeaderHeight


implicitFooterWidth : real [只读,自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

此属性存储隐式页脚宽度。

值等于 footer && footer.visible ? footer.implicitWidth : 0

此属性自 QtQuick.Controls 2.5 (Qt 5.12) 引入。

另请参阅:implicitFooterHeightimplicitHeaderWidth


implicitHeaderHeight : real [只读,自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

此属性存储隐式标题高度。

值等于 header && header.visible ? header.implicitHeight : 0

此属性自 QtQuick.Controls 2.5 (Qt 5.12) 引入。

另请参阅:implicitHeaderWidthimplicitFooterHeight


implicitHeaderWidth : real [只读,自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

此属性存储隐式标题宽度。

值等于 header && header.visible ? header.implicitWidth : 0

此属性自 QtQuick.Controls 2.5 (Qt 5.12) 引入。

另请参阅:implicitHeaderHeightimplicitFooterWidth


result : int [自 QtQuick.Controls 2.3 (Qt 5.10) 开始]

此属性存储结果代码。

标准结果代码

常量描述
Dialog.Accepted对话框已被接受。
Dialog.Rejected对话框已被拒绝。

此属性自 QtQuick.Controls 2.3 (Qt 5.10) 引入。

另请参阅:accept(),reject() 和 done()。


standardButtons : enumeration

此属性存储由对话框使用的标准按钮的组合。

Dialog {
    id: dialog
    title: "Title"
    standardButtons: Dialog.Ok | Dialog.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

按钮将按照用户平台适当的顺序定位。

可能的标志

常量描述
Dialog.Ok定义了 AcceptRole 的 "OK" 按钮。
Dialog.Open使用AcceptRole定义的“打开”按钮。
Dialog.Save使用AcceptRole定义的“保存”按钮。
Dialog.Cancel使用RejectRole定义的“取消”按钮。
Dialog.Close使用RejectRole定义的“关闭”按钮。
Dialog.Discard根据平台,定义为“丢弃”或“不保存”按钮,用DestructiveRole定义。
Dialog.Apply使用ApplyRole定义的“应用”按钮。
Dialog.Reset使用ResetRole定义的“重置”按钮。
Dialog.RestoreDefaults使用ResetRole定义的“恢复默认值”按钮。
Dialog.Help使用HelpRole定义的“帮助”按钮。
Dialog.SaveAll使用AcceptRole定义的“全部保存”按钮。
Dialog.Yes使用YesRole定义的“是”按钮。
Dialog.YesToAll使用YesRole定义的“全部是”按钮。
Dialog.No使用NoRole定义的“否”按钮。
Dialog.NoToAll使用NoRole定义的“全部否”按钮。
Dialog.Abort使用RejectRole定义的“中止”按钮。
Dialog.Retry使用AcceptRole定义的“重试”按钮。
Dialog.Ignore使用AcceptRole定义的“忽略”按钮。
Dialog.NoButton一个无效按钮。

另请参阅 DialogButtonBox


title : string

此属性用于保存对话框标题。

标题在对话框标题栏中显示。

Dialog {
    title: qsTr("About")

    Label {
        text: "Lorem ipsum..."
    }
}

信号文档

accepted()

当对话框通过交互或调用accept()时被接受时,此信号被发出。

注意:当使用close()关闭对话框或将visible设置为false时,此信号不会被发出。

注意:相应的处理程序是onAccepted

另请参阅:rejected()。


[自QtQuick.Controls 2.3 (Qt 5.10)以来] applied()

当点击Dialog.Apply标准按钮时,此信号被发出。

注意:相应的处理程序是onApplied

此信号自QtQuick.Controls 2.3 (Qt 5.10)以来被引入。

另请参阅:discarded()和reset


[自QtQuick.Controls 2.3 (Qt 5.10)以来] discarded()

当点击Dialog.Discard标准按钮时,此信号被发出。

注意:相应的处理程序是onDiscarded

此信号自QtQuick.Controls 2.3 (Qt 5.10)以来被引入。

另请参阅:reset()和applied


[自QtQuick.Controls 2.3 (Qt 5.10)以来] helpRequested()

当点击Dialog.Help标准按钮时,此信号被发出。

注意:相应的处理程序是onHelpRequested

此信号自QtQuick.Controls 2.3 (Qt 5.10)以来被引入。

另请参阅:accepted()和rejected


rejected()

当对话框通过交互或调用reject()时被拒绝时,此信号被发出。

注意:当使用close()关闭对话框或将visible设置为false时,此信号不会被发出。

注意:相应的处理程序是onRejected

另请参阅:accepted


[自QtQuick.Controls 2.3 (Qt 5.10)以来] reset()

当点击Dialog.Reset标准按钮时,此信号被发出。

注意:相应的处理器是 onReset

此信号自QtQuick.Controls 2.3 (Qt 5.10)以来被引入。

另请参阅废弃() 和 应用()。


方法文档

void accept()

发出 accepted() 信号并关闭对话框。

另请参阅reject() 和 done()。


[自 QtQuick.Controls 2.3 (Qt 5.10) 开始] void done(int result)

  1. 设置 result
  2. 根据结果是否为 Dialog.AcceptedDialog.Rejected,分别发出 accepted() 或 rejected() 信号。
  3. 发出 closed() 信号。

此方法在 QtQuick.Controls 2.3 (Qt 5.10) 中被引入。

另请参阅accept(),reject() 和 result


void reject()

发出 rejected() 信号并关闭对话框。

另请参阅accept() 和 done()。


[自 QtQuick.Controls 2.3 (Qt 5.10) 开始] AbstractButton standardButton(StandardButton button)

返回指定的标准 button,如果不存在则返回 null

此方法在 QtQuick.Controls 2.3 (Qt 5.10) 中被引入。

另请参阅standardButtons


© 2024 The Qt Company Ltd. 本文档的贡献者的版权归属。本提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可证 version 1.3 的条款授权。Qt 及其相关标志是 The Qt Company Ltd 在芬兰和/或世界其他国家的商标。所有其他商标属于其各自的所有者。