Different delegates for QML ListView

前端 未结 6 855
自闭症患者
自闭症患者 2020-12-13 19:36

I would like to know if it\'s possible to use (several) different delegates for a QML ListView.

Depending on the individual object in the ListVie

6条回答
  •  别那么骄傲
    2020-12-13 20:12

    I implemented it as follow:

    ListView {
        id: iranCitiesList
        model: sampleModel
        delegate: Loader {
            height: childrenRect.height
            width: parent.width
            sourceComponent: {
                switch(itemType) {
                case "image" :
                    return imageDel;
                case "video":
                    return videoDel;
                }
            }
        }
        ImageDelegate { id: imageDel }
        VideoDelegate { id: videoDel }
    }
    


    ImageDelegate.qml

    Component {
        Image { /*...*/ }
    }
    


    VideoDelegate.qml

    Component {
        Item { /*....*/ }
    }
    

    Last note, check width and height of delegates. In my case, I had to set width and height of my delegate in Loader again.
    Good luck - Mousavi

提交回复
热议问题