QML控件类型:Dialog(Qt Quick Controls 模块)

一、描述

Dialog 是一个弹出窗口,继承自 Popup,主要用于短期任务和与用户的简短交流。与 ApplicationWindowPage 类似,Dialog 被组织成三个部分:headercontentItem footer

QML控件类型:Dialog(Qt Quick Controls 模块)_第1张图片

二、属性成员

1、footer : Item

对话框页脚项。页脚项目位于底部,并调整为对话框的宽度。 默认值为空。

注意:将 DialogButtonBox 指定为对话框页脚会自动将其 accepted() 和 rejected() 信号连接到 Dialog 中的相应信号。

注意:将 DialogButtonBoxToolBar TabBar 指定为对话框页脚会自动将相应的 DialogButtonBox::position、ToolBar::position 或 TabBar::position 属性设置为 Footer

2、header : Item

对话框标题项。标题项位于顶部,并调整为对话框的宽度。默认值为空。

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

注意:将 DialogButtonBoxToolBar TabBar 指定为对话框标题会自动将相应的 DialogButtonBox::position、ToolBar::position 或 TabBar::position 属性设置为 Header

3、【只读】implicitFooterHeight : real

隐式页脚高度。等于 footer && footer.visible ? footer.implicitHeight : 0。

     【只读】implicitFooterWidth : real

隐式页脚宽度。等于 footer && footer.visible ? footer.implicitWidth : 0。

     【只读】implicitHeaderHeight : real

隐式标题宽度。等于 header && header.visible ? header.implicitHeight : 0。

     【只读】implicitHeaderWidth : real

隐式标题宽度。等于 header && header.visible ? header.implicitWidth : 0。

4、result : int

保存结果代码。标准结果代码:

  • Dialog.Accepted:对话框被接受。
  • Dialog.Rejected:对话框被拒绝。

5、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 定义的“确定”按钮。
  • 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:无效按钮。

6、title : string

对话框标题。

三、信号成员

1、accepted()

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

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

2、applied()

单击 Dialog.Apply 标准按钮时会发出此信号。

3、discarded()

单击 Dialog.Discard 标准按钮时会发出此信号。

4、helpRequested()

单击 Dialog.Help 标准按钮时会发出此信号。

5、rejected()

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

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

6、reset()

单击 Dialog.Reset 标准按钮时会发出此信号。

四、成员函数

1、void accept()

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

2、void done(int result)

分三步操作:

  1. 设置结果。
  2. 分别根据结果是 Dialog.Accepted 还是 Dialog.Rejected 发出 accepted() 或 rejected()。
  3. 发出 closed()(Popup::closed())。 

3、void reject()

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

4、AbstractButton  standardButton(StandardButton button)

返回指定的标准按钮,如果不存在则返回 null。

你可能感兴趣的:(#,QML控件类型,qml)