可以使用GridLayout 填充此类矩形。它在Qml Online App 中运行良好。
import QtQuick 2.3
import QtQuick.Layouts 1.12
GridLayout {
Repeater {
model: [{row: 0, column: 0, columnSpan: 3},
{row: 1, column: 0, columnSpan: 3},
{row: 2, column: 0, columnSpan: 1},
{row: 2, column: 2, columnSpan: 1},
{row: 3, column: 0, columnSpan: 1},
{row: 3, column: 2, columnSpan: 1},
{row: 4, column: 0, columnSpan: 1},
{row: 4, column: 2, columnSpan: 1},
{row: 5, column: 0, columnSpan: 3},
{row: 6, column: 0, columnSpan: 3}]
Rectangle {
Layout.fillWidth: true
Layout.fillHeight: true
Layout.row: modelData.row
Layout.column: modelData.column
Layout.rowSpan: 1
Layout.columnSpan: modelData.columnSpan
Layout.preferredWidth: Layout.columnSpan
Layout.preferredHeight: Layout.rowSpan
color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1);
}
}
}