作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为 qml 项设置背景的最简单方法是让子矩形的 anchor 完全填满父项:
Item
{
width: 320
height: 240
Rectangle
{
id: background
anchors.fill: parent
color: "blue"
}
// other items
}
RowLayout
)可以正确显示它们。
Item
{
// I don't want a fixed size here
Rectangle
{
id: background
anchors.fill: parent
color: "blue"
}
RowLayout
{
anchors.fill: parent
Item
{
id: child1
anchors.left = parent.left
anchors.top: parent.top
width:100
height:100
}
Item
{
id: child2
anchors.left = child1.right
anchors.top: parent.top
width:120
height:120
}
// further children
}
}
Item
或
Rectangle
而不是
RowLayout
,没有任何变化。实际上,当使用
RowLayout
我可以省略顺序 anchor 定,但这不会改变我的背景问题)
最佳答案
首先,如果你想让你的容器有背景,你必须制作Rectangle
根而不是放置 Rectangle
内Item
.此外,您不能在 Layout
中使用 anchor 。自 Layout
根据自己的规则管理其子项的布局。
至于问题,你可以用Layout
因为它增长到包含它的所有 child ,就像在下面的代码中一样:
Rectangle {
anchors.centerIn: parent
width: grid.width + 10
height: grid.height + 10
color: "orange"
GridLayout {
anchors.centerIn: parent
id: grid
columns: 5
rowSpacing: 2
columnSpacing: 2
Repeater {
model: 10 + Math.round(Math.random() * 50)
Rectangle {
width: 20 + Math.round(Math.random() * 50)
height: 20 + Math.round(Math.random() * 50)
border.width: 1
border.color: "#999"
}
}
}
}
Item.childrenRect
:
Rectangle {
id: container
anchors.centerIn: parent
width: childrenRect.x + childrenRect.width;
height: childrenRect.y + childrenRect.height;
border.width: 1
border.color: "#999"
Repeater {
model: 10 + Math.round(Math.random() * 50)
Rectangle {
x: Math.round(Math.random() * 500)
y: Math.round(Math.random() * 500)
width: 100 + Math.round(Math.random() * 100)
height: 100 + Math.round(Math.random() * 100)
color: Qt.rgba(Math.random(),Math.random(),Math.random(),1)
}
}
}
关于qml - 如何为未指定大小的 qml 项设置背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36175101/
我是一名优秀的程序员,十分优秀!