标题说明了一切。以下是两个使用childrenRect
指定尺寸而另一个不尺寸的示例。
使用childrenRect
:
Column {
width: 400
height: 600
ListView {
width: childrenRect.width
height: childrenRect.height
model: 2
delegate: Text {
text: "some text"
}
}
Rectangle {
width: 400
height: 20
color: "black"
}
}
没有childrenRect
:
Column {
width: 400
height: 600
ListView {
width: 400
height: 100
model: 2
delegate: Text {
text: "some text"
}
}
Rectangle {
width: 400
height: 20
color: "black"
}
}
运行第一个代码时,我的Rectangle
与ListView
重叠,为什么?这是因为,ListView
只会在Column
绘制后才会计算它的维度吗?我怎么能过来这个?
一个有效的解决方案是将Rectangle
anchor.top
设置为ListView
anchors.bottom
。还有其他更好的(?)解决方案吗?