1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
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)
}
}
}
|