要动态添加ListView
的item,可以通过操作ListView
的model来实现。下面是一个简单的示例:
import QtQuick 2.0
Item {
width: 200
height: 400
ListView {
anchors.fill: parent
id: listView
ListModel {
id: myModel
// 初始时有3个item
ListElement { text: "Item 1" }
ListElement { text: "Item 2" }
ListElement { text: "Item 3" }
}
delegate: Rectangle {
width: parent.width
height: 50
color: index % 2 == 0 ? "#f0f0f0" : "#ffffff"
Text {
text: modelData.text
anchors.centerIn: parent
}
}
}
Button {
anchors.bottom: parent.bottom
text: "Add Item"
onClicked: {
// 在model中添加一个新的item
myModel.append({text:"New Item"})
// 滚动到最后一个item处,以便用户看到新添加的item。
listView.positionViewAtEnd()
}
}
}
上述代码中,我们使用了一个ListElement列表项来初始化ListViewModel。然后,在按钮的onClicked事件处理程序中,我们向myModel添加了一个新项目,并调用positionViewAtEnd()函数将视图滚动到最后一个项目。
当您点击按钮时,就会出现“Add Item”按钮,并且每次单击都会在底部添加一个新项目。