QML delegate中使用Repeater

在QML界面设计例如ListView中,通过设计delegate来显示代理model中的数据,在delegate中使用属性绑定的方式将model中对象的值显示出来,但如果delegate中使用了Repeater,此时delegate中的model为Repeater的model,显示数据就会出现错误,因此用个小方法:

在delegete中添加属性myModel,将delegate的model赋值于myModel,例如:

var headerList = ["P","V"]
ListModel{
    ListElement{
        P:"20"
        V:"18"
    }
    ListElement{
        P:"25"
        V:"12"
    }
}
Component{
    id:listDelegate
    Rectangle{
        width: parent.width
        height: 40
        property var myModel: model
        Row{
            Repeater{
                model:headerList
                Label{
                    width: 80
                    height: 40
                    text:myModel[headerList[index]]
                }
            }
        }
    }
}

 

你可能感兴趣的:(QML,qml)