如何使ListElement不会退出QML中的ListView?

时间:2018-01-08 03:24:23

标签: qt listview qml

我需要一些帮助,我在QML中有以下代码:

jed

这看起来像这样:

enter image description here

但是当您使用鼠标移动时,您会传递分配给您的灰色区域

enter image description here

如何使它不会离开那里?

我不得不放这个让我问这个问题,因为显然我的文字和代码都很少,所以我可以忽略它。

修改

我想保留效果但不关闭滚动

修改

enter image description here

这里它留下容器

enter image description here

这就是我需要的

enter image description here

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您要禁用过冲效果,请按docs

所示
  

boundsBehavior:枚举

     

此属性保持表面是否可能被拖出   可滑动的边界,或超过Flickable的边界时   轻弹。

     

这使得视觉边缘感觉柔软   而不是一个坚硬的物理边界。

     

boundsBehavior可以是以下之一:

     

Flickable.StopAtBounds - 内容无法拖动超出flickable的边界,并且轻弹不会超调。

     

Flickable.DragOverBounds - 内容可以拖动到    Flickable的边界,但是电影不会过冲。

     

Flickable.OvershootBounds - 内容可以超出边界    轻弹时,但内容不能超出界限    光滑的。 (自QtQuick 2.5起)

     

Flickable.DragAndOvershootBounds (默认) - 内容可以拖动到Flickable的边界之外,并且可以在轻弹时超出边界。

在你的情况下:

ListView {
    [...]
    boundsBehavior: Flickable.StopAtBounds
}

<强>更新

在您的情况下,您可以将Rectangle的clip属性设置为true:

Rectangle{
    id: contenedor
    color: "#ddd"
    anchors.centerIn: parent
    width: parent.width * 0.9
    height: parent.height * 0.9
    clip:true

    ListView {
        id: list
        spacing: 10
        model: modeloDeLista
        delegate: vistaLista
        anchors.fill: parent
    }
}