更新中继器模型时布局中断

时间:2016-03-17 13:51:37

标签: qt qml qtquick2

我有一个Repeater嵌套在ColumnLayout中。此Repeater有一个代理人 - Rectangle,其中包含Label。问题是,当模型更新时,最后Rectangle消失(Label保持可见)。代码就是这样:

Repeater {
    id: rep
    model: myModel

    Rectangle {
        id: rect
        width: parent.width
        height: lab.implicitHeight + 25

        color: "yellow"
        border {
            width: 1
            color: "green"
        }

        Label {
            id: lab
            text: label
        }
    }
}

只有在打开面板时模型更新才会出现问题,创建时看起来没问题。

1 个答案:

答案 0 :(得分:1)

使用附加属性可以解决问题:

Rectangle {
      id: rect
      Layout.fillWidth: true
      Layout.preferredHeight: lab.implicitHeight + 25

      color: "yellow"
      ...
}