DtkDeclarative
DTK Declarative module
载入中...
搜索中...
未找到
InWindowBlur类 参考

提供一个使目标控件在窗口内模糊的特效控件. 更多...

详细描述

提供一个使目标控件在窗口内模糊的特效控件.

\keyword DQuickInWindowBlur
该控件用于在窗口内对某些控件背景进行模糊操作,例如一个 ListView 的背景如果是一个图片,如果其 Item 需要
进行模糊处理,对 ListView 的背景进行模糊处理,就能够用 InWindowBlur 控件对 delegate 进行模糊处理。
例如以下代码
import org.deepin.dtk
Item {
Image {
anchors.fill: parent
source: "file:///usr/share/wallpapers/deepin/desktop.jpg"
}
ListView {
id: testView
model: 10
spacing: 30
clip: true
anchors {
fill: parent
margins: 10
}
delegate: Item {
height: 50
width: 300
anchors.horizontalCenter: parent.horizontalCenter
id: blur
anchors.fill: parent
radius: 20
offscreen: true
}
ItemViewport {
id: roundBlur
anchors.fill: blur
fixed: true
sourceItem: blur
radius: blur.radius
hideSource: false
}
Rectangle {
radius: roundBlur.radius
anchors.fill: roundBlur
color: Qt.rgba(1, 0, 0, 0.2)
}
Text {
anchors.centerIn: parent
text: "InWindowBlur" + index
color: "white"
font.pixelSize: 22
}
}
}
}
提供一个使目标控件在窗口内模糊的特效控件.
其效果展示如下:
如上述示例代码, InWindowBlur 控件需要配合 ItemViewport 控件才能完成与 BehindWindowBlur 控件
类似的混色效果。 其中 ItemViewport 主要完成圆角效果和混色填充的功能。 由于 InWindowBlur 控件本身
不支持圆角功能,因此在使用 ItemViewport 是需要隐藏其非圆角的效果, offscreen 属性就需要设置为 true 状
态,让 ItemViewport 能够展示 InWindowBlur 控件的内容但不现实 InWindowBlur 本身,该功能与 ItemViewport
中的 hideSource 类似,但该属性与 InWindowBlur 控件的绘制发生冲突,无法正确渲染其模糊图像,因此建议使用
InWindowBlur 控件的 offscreen 属性而非 ItemViewport 控件的 hideSource 属性。

该类的文档由以下文件生成: