为什么ListView在使用childrenRect指定它的尺寸时会破坏列?

时间:2016-03-13 06:04:05

标签: qt qml

标题说明了一切。以下是两个使用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"
    }
}

运行第一个代码时,我的RectangleListView重叠,为什么?这是因为,ListView只会在Column绘制后才会计算它的维度吗?我怎么能过来这个?

一个有效的解决方案是将Rectangle anchor.top设置为ListView anchors.bottom。还有其他更好的(?)解决方案吗?

0 个答案:

没有答案