从QML列表中获取元素

从QML列表中获取元素,qml,qlistview,Qml,Qlistview,我正在用QML中的“更多”按钮实现一个列表视图。 列表和按钮将如下所示 “a b c d e更多按钮”。(其中a b c d和e是字符串的元素)并且我的列表将有5个以上的元素。单击“更多”按钮后,我需要从列表中获取接下来的5个元素。说 “f g h i j”等等,它应该继续,直到列表中的所有元素都显示出来。我的问题是如何从列表中获取前5个、第2个5个等元素? 非常感谢您的帮助。您可以这样做: ListView { id: view x: 50 width: 200; he

我正在用QML中的“更多”按钮实现一个列表视图。 列表和按钮将如下所示 “a b c d e更多按钮”。(其中a b c d和e是字符串的元素)并且我的列表将有5个以上的元素。单击“更多”按钮后,我需要从列表中获取接下来的5个元素。说 “f g h i j”等等,它应该继续,直到列表中的所有元素都显示出来。我的问题是如何从列表中获取前5个、第2个5个等元素?
非常感谢您的帮助。

您可以这样做:

ListView
{
    id: view
    x: 50
    width: 200; height: 500

    property variant alphabetArray: ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' ]


    function append(  )
    {
        // @ToDoyourself : Check all the boundary conditions in this function

        var loopTime = alphabetModel.count
        for( var i = loopTime ; i <= loopTime+5 ; ++ i )
            alphabetModel.append({ "name" : alphabetArray[i] })
    }

    model:  ListModel
    {
        id: alphabetModel
        ListElement {  name: "a"   }
        ListElement {  name: "b"   }
        ListElement {  name: "c"   }
        ListElement {  name: "d"   }
        ListElement {  name: "e"   }
    }

    footer:

        Text
        {
            text : "More" ; font.pixelSize: 35 ; color : "grey"
            MouseArea
            {
                anchors.fill: parent
                onClicked:
                {
                    append()
                }
            }
        }


    delegate:
    Item
    {
        height: 100

        Text
        {
            text: name
            height: 20
            font.pixelSize: 30
            color: index === view.currentIndex ?  "black" : "red"

            MouseArea
            {
                anchors.fill: parent
                onClicked: view.currentIndex = index
            }
        }
    }
}
ListView
{
id:视图
x:50
宽度:200;高度:500
属性变量alphabetArray:['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
函数追加()
{
//@ToDoyourself:检查此函数中的所有边界条件
var loopTime=alphabetModel.count
for(var i=循环时间;i