Как сохранить пространство между отдельными элементами списка в Listview в QML - PullRequest
0 голосов
/ 30 марта 2020

У меня есть список с некоторыми элементами списка. Но мне нужно пространство между 2-м и 3-м пунктом списка в представлении списка.

Я попытался установить высоту конкретного элемента в представлении списка component.oncompleted (). В представлении списка у меня может быть около 30 элементов в то время, если я прокручиваю до последнего элемента и свойство увеличения высоты, установленное в component.oncompleted, не имеет никакого эффекта. Есть ли другой способ сохранить пробел между 2-м и 3-м пунктом списка.

import QtQuick 2.9
import QtQuick.Window 2.2

Window
{
    visible: true
    width: 1920
    height: 1080
    color: "black"
    property var curritem
    property var items

    ListView
    {
        id:idlistview
        model:SampleListModel{}
        x:350
        y:200
        width: 700
        height: 500
        clip: true
        spacing: 10
        focus: true
        highlight: Rectangle
        {
            x: 85
            y: idlistview.currentItem.y
            width: 400
            height: 66
            color: "grey"
            Behavior on y
            {
                SpringAnimation{spring: 2;damping: 0.1}
            }
        }
        highlightFollowsCurrentItem: false

        delegate: iddelegatecomponent
        Component
        {
            id:iddelegatecomponent
            Item
            {
                id: iditem
                x: 100
                y: 250
                width: 400
                height: 50
                Text
                {
                    id: idtext
                    text: caption
                    color: "#FFFFFF"
                    font.bold: true
                    font.pixelSize: 26
                    anchors.verticalCenter: parent.verticalCenter
                   // anchors.horizontalCenter:  parent.horizontalCenter
                    horizontalAlignment: Text.AlignLeft
                }
            }
        }
    }

}

1 Ответ

1 голос
/ 31 марта 2020

Вы можете играть с индексом, каждый делегат знает свой индекс, например:

ListView {
    model:10
    spacing: 1
    focus: true
    anchors.fill: parent
    delegate: Item {
        width: parent.width
        height: index == 3 ? 80 : 40
        Rectangle {
            color: Qt.darker(Qt.rgba(Math.random(), Math.random(), Math.random(), 1.0))
            width: parent.width
            height: 40
            Text {
                text: "item" + index
                color: "white"
                anchors.centerIn: parent
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...