从listmodel访问元素

时间:2016-09-11 20:39:15

标签: android listview qml

我是Qml编程语言的新手,我正面临着这个错误。我从互联网上获得了一个工作代码,我尝试了一点点修改它,但我无法理解发生了什么。

所以这是我正在使用的Listview我有两个组件,名为Device with ip cpdevice,Deviceinfo with id cpdeviceinfo。 我不理解的第一件事是在步骤

模型:cpdevice.devicelist这里到底发生了什么? 这是否意味着我访问的设备列表是一个listmodel? 如果有,有人可以解释我如何从listmodel访问元素。 除了使用get函数?

ListView{ id:mainview x: 8 y: 148 width:parent.width height: parent.height/4 model:cpdevice.devicesList delegate: Rectangle{ height:250 width:parent.width/2 color: "transparent" anchors.horizontalCenter: parent.horizontalCenter border.width: 2 border.color: "#aa0000" radius: 2 Rectangle { id: box anchors.fill:parent color:"transparent" Component.onCompleted: { console.log("Inside List view"); }

            Text {
                id: deviceName
                font.pointSize: 20
                color: "#363636"
                horizontalAlignment: Text.AlignHCenter
                elide: Text.ElideMiddle
                width: implicitWidth
                wrapMode: Text.Wrap
                text: modelData.deviceName
                anchors.top: parent.top
                anchors.topMargin: 15
                anchors.left: parent.left
                anchors.leftMargin: 22

                Component.onCompleted: {
                    console.log("In Device Name")
                    devname=cpdevice.devicesList.deviceName
                    console.log(devname)
                }
            }
            Text {
                id: deviceAddress
                text: modelData.deviceAddress
                font.pointSize: deviceName.font.pointSize
                color: "#363636"
                horizontalAlignment: Text.AlignHCenter
                elide: Text.ElideMiddle
                width: implicitWidth
                wrapMode: Text.Wrap
                anchors.top:deviceName.bottom
                anchors.topMargin: 15
                anchors.left: parent.left
                anchors.leftMargin: 22

                Component.onCompleted: {
                    console.log("In device Address")
                    console.log(modelData.deviceAddress)
                    devadd=modelData.deviceAddress;
                }

            }
        }
    }

}`

0 个答案:

没有答案