68 lines
1.9 KiB
QML
68 lines
1.9 KiB
QML
import QtQuick 2.12
|
|
|
|
Rectangle {
|
|
|
|
width: 240
|
|
height: 320
|
|
color: "#ffffff"
|
|
|
|
Component {
|
|
id: myDelegate
|
|
Rectangle {
|
|
id: wrapper
|
|
objectName: "wrapper"
|
|
width: list.orientation == ListView.Vertical ? 240 : 20
|
|
height: list.orientation == ListView.Vertical ? 20 : 240
|
|
border.width: 1
|
|
border.color: "black"
|
|
Text {
|
|
text: index + ":" + (list.orientation == ListView.Vertical ? parent.y : parent.x).toFixed(0)
|
|
}
|
|
color: ListView.isCurrentItem ? "lightsteelblue" : "white"
|
|
}
|
|
}
|
|
|
|
ListView {
|
|
id: list
|
|
objectName: "list"
|
|
focus: true
|
|
width: 240
|
|
height: 200
|
|
clip: true
|
|
snapMode: ListView.SnapToItem
|
|
headerPositioning: ListView.OverlayHeader
|
|
model: 30
|
|
delegate: myDelegate
|
|
orientation: ListView.Vertical
|
|
verticalLayoutDirection: ListView.BottomToTop
|
|
|
|
header: Rectangle {
|
|
width: list.orientation == Qt.Vertical ? 240 : 30
|
|
height: list.orientation == Qt.Vertical ? 30 : 240
|
|
objectName: "header";
|
|
color: "green"
|
|
z: 11
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: "header " + (list.orientation == ListView.Vertical ? parent.y : parent.x).toFixed(1)
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
color: "red"
|
|
opacity: 0.5
|
|
width: txt.implicitWidth + 50
|
|
height: txt.implicitHeight
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
|
|
Text {
|
|
id: txt
|
|
anchors.centerIn: parent
|
|
text: "header position: " + (list.orientation == ListView.Vertical ? list.headerItem.y : list.headerItem.x).toFixed(1)
|
|
+ "\ncontent position: " + (list.orientation == ListView.Vertical ? list.contentY : list.contentX).toFixed(1)
|
|
}
|
|
}
|
|
}
|