QML ListView在其边界之外绘制ObjectModel

时间:2014-11-18 08:24:38

标签: listview qml

我试图从WPF / XAML进入QT / QML。

在测试GUI中,我使用ListView在点击按钮时显示不同的模型。 到目前为止,这个工作正常,当我单击相应的按钮时,视图会一直显示每个模型。 但是它仍然会将所有其他模型绘制在自己的边界之外,并将周围的元素与它们重叠。 我可以关闭此行为吗?

这是我的ListView:

ListView
{
    id: list_view

    anchors.fill:                   parent
    model:                          main_view_model
    snapMode:                       ListView.SnapOneItem
    boundsBehavior:                 Flickable.StopAtBounds
    highlightFollowsCurrentItem:    true
    highlightMoveDuration:          75
    highlightRangeMode:             ListView.StrictlyEnforceRange
    currentIndex:                   view_index
}

这是ObjectModel:

ObjectModel
{
    id: main_view_model

    // ListView index 0
    TestView1
    {
        anchors.centerIn: parent.center
        width: list_view.width
        height: list_view.height
    }

    // ListView index 1
    TestView2
    {
        anchors.centerIn: parent.center
        width: list_view.width
        height: list_view.height
    }

    // ListView index 2
    TestView3
    {
        anchors.centerIn: parent.center
        width: list_view.width
        height: list_view.height
    }

    // ListView index 3
    TestView4
    {
        anchors.centerIn: parent.center
        width: list_view.width
        height: list_view.height
    }
}

由于我已经习惯了XAML,我仍然在努力解决QML的布局和锚定问题。如果我犯了一个明显的错误,请原谅。

1 个答案:

答案 0 :(得分:8)

似乎"剪辑" Item的属性将帮助您: Item.clip