如何在Qt中为QML GridView设置背景

3
如何从QML文件设置gridview的背景。

请查看这里的示例:http://doc.qt.digia.com/4.7-snapshot/qdeclarativeexamples.html - 这些可能已经作为您的SDK的一部分安装。 - xk0der
2个回答

5
将网格视图嵌套在一个矩形中,并使GridView元素的委托透明:
    Rectangle {
      color: "red"
      GridView {
        delegate: Rectangle {
          color: "transparent"
        }
      }
    }

1
你也可以尝试一下xk0der提出的示例,通过将图像的“z:”属性设置为小于委托的属性,使图像显示在委托下方。 - JuliusG
2
“Rectangle { color: "transparent" }” 没有任何意义,是吧?为什么不直接用 “Item {}” 呢?我的意思是,Rectangle 的唯一作用就是打印一个背景,而你想要禁用它... :) - leemes
@leemes 实际上带透明色的矩形更好,你可以设置边界半径+剪辑来创建用于卡片的圆角矩形,使用代理实现你的卡片控件,例如。 - Mahdi Khalili

2
在QML中,您可以通过在彼此之间包含/嵌套小部件/元素来组合复杂对象。
因此,要在Widget中包含图像,在您的情况下是GridView,只需将Image元素嵌套在GridView元素或其子元素中即可。
GridView {
    width: 800
    height: 600
    Image: {
       source: "some-image.png"
    }
}

GridView的文档有类似且更好的示例 - http://doc.qt.digia.com/4.7-snapshot/qml-gridview.html#example-usage

另外要注意anchors属性,它可以帮助您将图像定位在父元素中或其他位置。

Image元素的文档在这里:http://doc.qt.digia.com/latest/qml-image.html


感谢您的帖子,但是将图像嵌套在GridView中会隐藏GridView元素,我想将图像设置为GridView的背景。 - Sandy
我可以将GridView嵌套在矩形内,并设置矩形内的图像,这样我就可以设置背景图像,但我不知道如何使GridView背景透明。感谢您的帮助。 - Sandy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接