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.0
Rectangle {
id: root
width: 240
height: 320
property bool showHeader: false
property bool showFooter: false
property bool enforceRange: false
Component {
id: myDelegate
Rectangle {
id: wrapper
objectName: "wrapper"
width: 80
height: 60
border.width: 1
Text { text: index }
Text {
x: 30
text: wrapper.x + ", " + wrapper.y
font.pixelSize: 12
}
Text {
y: 20
id: textName
objectName: "textName"
text: name
}
Text {
y: 40
id: textNumber
objectName: "textNumber"
text: number
}
property string theName: name
color: GridView.isCurrentItem ? "lightsteelblue" : "white"
}
}
Component {
id: headerFooter
Rectangle { width: 30; height: 30; color: "blue" }
}
GridView {
objectName: "grid"
width: 240
height: 320
cellWidth: 80
cellHeight: 60
cacheBuffer: 0
flow: (testTopToBottom == false) ? GridView.LeftToRight : GridView.TopToBottom
layoutDirection: (testRightToLeft == true) ? Qt.RightToLeft : Qt.LeftToRight
verticalLayoutDirection: (testBottomToTop == true) ? GridView.BottomToTop : GridView.TopToBottom
highlightRangeMode: enforceRange ? GridView.StrictlyEnforceRange : GridView.NoHighlightRange
preferredHighlightBegin: enforceRange ? 120 : 0
preferredHighlightEnd: enforceRange ? 120 : 0
model: testModel
delegate: myDelegate
header: root.showHeader ? headerFooter : null
footer: root.showFooter ? headerFooter : null
}
}
|