一、描述
覆盖层。为 Popup 提供了一个层,确保 Popup 显示在其他内容之上,并且当模态或变暗的 Popup 可见时背景变暗。
覆盖层是覆盖整个窗口的普通 Item。它可以用作视觉父级以在场景坐标中定位 Popup。
以下示例使用附加的 Overlay.overlay 属性将 Popup 定位在窗口的中心:
Button {
onClicked: popup.open()
Popup {
id: popup
parent: Overlay.overlay
x: Math.round((parent.width - width) / 2)
y: Math.round((parent.height - height) / 2)
width: 100
height: 100
}
}
二、附加属性成员
1、Overlay.modal : Component
此附加属性包含一个组件,该组件用作实现模态 Popup 的背景变暗的可视项。它是为可见的模态Popup 创建并堆叠在其下方。
该属性可以附加到任何 Popup 。
例如,要更改模态 Popup 的背景变暗颜色,可以使用以下代码:
import QtQuick.Window
import QtQuick.Controls
ApplicationWindow {
id: window
width: 400
height: 400
visible: true
Button {
text: "Open"
onClicked: popup.open()
}
Popup {
id: popup
x: 100
y: 100
width: 200
height: 300
modal: true
focus: true
Overlay.modal: Rectangle {
color: "#800000ff"
}
}
}
2、Overlay.modeless : Component
此附加属性包含一个组件,该组件用作实现无模态 Popup 的背景调光的可视项。它是为可见的调光 Popup 创建并堆叠在其下方。
该属性可以附加到任何 Popup 。
例如,要更改无模式弹出窗口的背景变暗颜色,可以使用以下代码:
Popup {
id: popup
x: 100
y: 100
width: 200
height: 300
focus: true
dim: true //必不可少
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
Overlay.modeless: Rectangle {
color: "#800000ff"
}
}
3、Overlay.overlay : Overlay
该属性可以附加到任何 Item、Popup 或 Window。
三、附加信号成员
1、pressed()
当用户在 Popup 可见时按下叠加层时,会发出此附加信号。
2、released()
当用户在 Popup 可见时释放叠加层时,会发出此附加信号。