提供一种盒子阴影控件.
BoxShadow 是 DTK 提供的一种兼容软件渲染和硬件渲染的盒子阴影控件。无论应用处在哪种环境(软件和硬件) 应用所表现出来的效果一致。
BoxShadow 控件通常使用 anchors 对目标控件进行填充。根据内部的模糊系数、阴影颜色等等,作用在 目标控件中。当然由于 QML 绘制项的层级关系,应当将 BoxShadow 放在目标控件之前创建,或手动修改 BoxShadow 的 z 属性,以便保证 BoxShadow 控件在目标控件的底部,防止目标控件被阴影控件覆盖。
BoxShadow 的简单用法如下所示:
anchors.fill: boxShadowSource
}
Rectangle {
id: boxShadowSource
width: 200
height: 200
color: "#D2691E"
radius: 20
}
提供一种盒子阴影控件.
Definition BoxShadow.qml:6
real shadowBlur
shadowBlur 属性表示 BoxShadow 的阴影模糊系数,模糊系数越大,阴影的模糊程度越高。
Definition BoxShadow.qml:19
real cornerRadius
cornerRadius 属性表示 BoxShadow 的圆角大小
Definition BoxShadow.qml:9
color shadowColor
shadowColor 属性表示 BoxShadow 的阴影颜色。默认情况下,该颜色为 "black"
Definition BoxShadow.qml:25
real shadowOffsetY
shadowOffsetY 属性表示 BoxShadow 的 y 坐标偏移大小。 默认情况下,该值为 0
Definition BoxShadow.qml:23
real shadowOffsetX
shadowOffsetX 属性表示 BoxShadow 的 x 坐标偏移大小。 默认情况下,该值为 0
Definition BoxShadow.qml:21
效果如下图所示:
当目标控件是一个带有不透明颜色的控件时,通常我们需要打开 hollow 属性,是为了带有透明
部分的目标控件所在区域和底部的 BoxShadow 区域颜色混合的情况,例如以下代码:
anchors.fill: boxShadowSource
}
Rectangle {
id: boxShadowSource
width: 200
height: 200
color: Qt.rgba(0.82, 0.71, 0, 0.6)
radius: 20
}
bool hollow
hollow 属性表示 BoxShadow 是否指定为空洞属性
Definition BoxShadow.qml:29
控件使用 hollow 属性和未使用 hollow 属性的效果对比如下: