78 lines
2.0 KiB
QML
78 lines
2.0 KiB
QML
// Copyright (C) 2022 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
import QtQuick
|
|
import QtQuick.Controls
|
|
|
|
Rectangle {
|
|
property string sectionProperty: "section"
|
|
property int sectionPositioning: ViewSection.InlineLabels
|
|
|
|
width: 640
|
|
height: 480
|
|
color: "#FFFFFF"
|
|
|
|
resources: [
|
|
Component {
|
|
id: myDelegate
|
|
Text {
|
|
objectName: model.title
|
|
width: parent.width
|
|
height: 40
|
|
text: "NormalDelegate: " + model.title
|
|
visible: model.isVisible
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
}
|
|
]
|
|
ListView {
|
|
id: list
|
|
objectName: "list"
|
|
anchors.fill: parent
|
|
clip: true
|
|
|
|
model: ListModel {
|
|
ListElement {
|
|
title: "element1"
|
|
isVisible: true
|
|
section: "section1"
|
|
}
|
|
ListElement {
|
|
title: "element2"
|
|
isVisible: true
|
|
section: "section1"
|
|
}
|
|
ListElement {
|
|
title: "element3"
|
|
isVisible: true
|
|
section: "section2"
|
|
}
|
|
ListElement {
|
|
title: "element4"
|
|
isVisible: true
|
|
section: "section2"
|
|
}
|
|
}
|
|
|
|
delegate: myDelegate
|
|
|
|
section.property: "section"
|
|
section.criteria: ViewSection.FullString
|
|
section.delegate: Component {
|
|
Text {
|
|
id: sectionDelegate
|
|
objectName: section
|
|
visible: false
|
|
width: parent.width
|
|
height: visible ? 48 : 0
|
|
text: "Section delegate: " + section
|
|
verticalAlignment: Text.AlignVCenter
|
|
elide: Text.ElideMiddle
|
|
Component.onCompleted: function(){
|
|
Qt.callLater(function(){sectionDelegate.visible = true})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|