是否可以使用自定义委托作为ListView
的每两个连续项之间的分隔符,就像header
和footer
属性一样?
答案 0 :(得分:3)
ListView
可以划分为sections
,即群组。该文档提供了一个很好的示例here。
基本上,您定义Component
,就像对Header
和Footer
一样,并将其设置在section.delegate
子属性中。在代码中:
ListView { id:查看 [...]
section.property: "size" // <--- the splitting property name
section.criteria: ViewSection.FullString // <--- specify the way section is created (see the provided link)
section.delegate: sectionDelegate // <--- your delegate
}
答案 1 :(得分:1)
我刚补充说:
Text {
text: "____________________________________________"
color: "black"
}
到我的项目结束。
答案 2 :(得分:0)
将您的项目放入带有上述矩形的ColumnLayout中:
ListView {
id: list
clip: true
model: ...
spacing: 3
Layout.fillHeight: true
Layout.fillWidth: true
delegate: ColumnLayout {
width: list.width
spacing: list.spacing
MyItemDelegate {
...
}
Rectangle {
color: "#999999"
Layout.preferredHeight: 1
Layout.fillWidth: true
visible: (index !== (list.count - 1))
}
}
}
这样,分隔符将仅在itens之间显示,而不在最后一项上显示。 您可以继续使用为其创建的部分。