我有一个Listview,它将保存材料清单。我的元素是文字和图像。文本包含材质名称,图像是删除按钮。当我单击添加按钮时,我想将我的元素添加到列表视图中。然后,如果我单击删除按钮,我想从Listview中删除记录。
我该怎么做?
答案 0 :(得分:1)
我想你的代码中有一个ListModel
。 ListModel
提供了一些methods来插入和删除项目。
您提到您的ListElement
包含文字和删除图片。所以我认为你有类似下面的代码,在那里你可以看到一个附加和删除元素的例子。
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
visible: true
width: 500
height: 500
Rectangle {
width: 250
height: 400
Component {
id: listDelegate
Item {
width: 250; height: 50
Row {
Column {
width: 200
Text { text: 'mytext: ' + mytext }
}
Column {
width: 50
Image {
id: deleteButton
source: "delete.jpg"
MouseArea {
anchors.fill: parent;
onClicked:{
console.debug("clicked:"+ index);
listModel.remove(index);
}
}
}
}
}
}
}
ListModel {
id: listModel
ListElement {
mytext: "AAA"
}
ListElement {
mytext: "BBB"
}
}
ListView {
id: listView
anchors.fill: parent
model: listModel
delegate: listDelegate
focus: true
}
}
Button {
y: 450
text: "add"
onClicked: {
listModel.append({"mytext": "XXX"})
}
}
}