Bir Tekrarlayıcı tarafından doldurulmuş bir ızgaram var (bir TableView ihtiyaçlarıma uymuyor), bir Flickable içinde, böylece içeriği kaydırabilirim.
Gridlayout'umun kolayca ekleyebileceğim bir başlığa sahip olmasını istiyorum Text
tekrarlayıcımdan önce böyle:
import QtQuick 2.0
import QtQuick.Layouts 1.12
ColumnLayout {
width: 200
height: 200
Flickable {
Layout.fillWidth: true
Layout.preferredHeight: 200
contentWidth: width
contentHeight: grid.height
clip: true
GridLayout {
id: grid
columns: 3
columnSpacing: 10
function reparentChildren(source, target) {
while (source.children.length) {
source.children[0].parent = target;
}
}
// Header
Text {
text: "Header 0"
}
Text {
text: "Header 1"
}
Text {
text: "Header 2"
}
// Data
Repeater {
model: 50
Item {
Component.onCompleted: grid.reparentChildren(this, grid)
Text {
text: "Column 0, %1".arg(modelData)
}
Text {
text: "Column 1, %1".arg(modelData)
}
Text {
text: "Column 2, %1".arg(modelData)
}
}
}
}
}
}
Bununla birlikte, başlığımın "yapışkan" / "donmuş" olmasını, yani Titremeyi kaydırırken görünür kalmasını istiyorum. Başlığımı Flickable'ın dışında oluşturabilirim, ancak GridLayout bana son satır boyutlarını vermez, bu yüzden başlık metinlerimi konumlandıramam.