68 lines
1.9 KiB
QML
68 lines
1.9 KiB
QML
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
|
|
}
|
|
}
|