我是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;
}
}
}
}
}`