GridLayout QML Type
グリッド内のアイテムを動的に配置する方法を提供します。詳細...
| Import Statement: | import QtQuick.Layouts |
| Inherits: |
プロパティ
- columnSpacing : real
- columns : int
- flow : enumeration
- layoutDirection : enumeration
(since QtQuick.Layouts 1.1) - rowSpacing : real
- rows : int
- uniformCellHeights : bool
(since QtQuick.Layouts 6.6) - uniformCellWidths : bool
(since QtQuick.Layouts 6.6)
詳細説明
このタイプをより効率的に使用するためには、Qt Quick のレイアウトモジュールの一般的な仕組みを理解しておくことをお勧めします。詳細については、「Qt Quick のレイアウトの概要」を参照してください。
GridLayout のサイズが変更されると、レイアウト内のすべての項目が再配置されます。これは、ウィジェットベースのQGridLayout と同様です。GridLayout 要素の表示されているすべての子要素が、このレイアウトに属することになります。 1行または1列のみのレイアウトを作成したい場合は、`RowLayout `または`ColumnLayout`を使用できます。これらを使用すると、APIがやや使いやすくなり、可読性も向上します。
デフォルトでは、アイテムはflow プロパティに従って配置されます。flow プロパティのデフォルト値はGridLayout.LeftToRight です。
columns プロパティが指定された場合、それは、自動配置が次の行の先頭に戻るまでの、レイアウトが持つことができる列数の最大制限として扱われます。columns プロパティは、flow がGridLayout.LeftToRight の場合にのみ使用されます。

GridLayout {
id: grid
columns: 3
Text { text: "Three"; font.bold: true; }
Text { text: "words"; color: "red" }
Text { text: "in"; font.underline: true }
Text { text: "a"; font.pixelSize: 20 }
Text { text: "row"; font.strikeout: true }
}rows プロパティも同様の仕組みですが、アイテムは垂直方向に自動配置されます。rows プロパティは、flow がGridLayout.TopToBottom に設定されている場合にのみ使用されます。
Layout.row プロパティとLayout.column プロパティを設定することで、アイテムをどのセルに配置するかを指定できます。また、Layout.rowSpan プロパティまたはLayout.columnSpan プロパティを設定することで、行スパンや列スパンを指定することもできます。
GridLayout内のアイテムは、以下のアタッチドプロパティをサポートしています:
- Layout.row
- Layout.column
- Layout.rowSpan
- Layout.columnSpan
- Layout.minimumWidth
- Layout.minimumHeight
- Layout.preferredWidth
- Layout.preferredHeight
- Layout.maximumWidth
- Layout.maximumHeight
- Layout.fillWidth
- Layout.fillHeight
- Layout.alignment
- Layout.margins
- Layout.leftMargin
- Layout.rightMargin
- Layout.topMargin
- Layout.bottomMargin
- Layout.horizontalStretchFactor
- Layout.verticalStretchFactor
アタッチドプロパティの詳細については、こちらをご覧ください。
「 RowLayout 」、「ColumnLayout 」、「StackLayout 」、「Grid 」、および「Qt Quick 」のレイアウトの概要も参照してください 。
プロパティのドキュメント
columnSpacing : real
このプロパティは、各列間の間隔を指定します。デフォルト値は5 です。
columns : int
このプロパティは、flow が `GridLayout.LeftToRight` の場合に、配置された項目の列数の上限を指定します。デフォルト値は、制限なしです。
flow : enumeration
このプロパティは、明示的なセル位置が設定されていない項目のフロー方向を保持します。これは、columns プロパティまたはrows プロパティと組み合わせて使用され、それぞれフローが次の行または列にリセットされるタイミングを指定します。
取り得る値は次のとおりです。
| 定数 | 説明 |
|---|---|
GridLayout.LeftToRight | (既定値) アイテムは互いに隣り合って配置され、その後、次の行に折り返されます。 |
GridLayout.TopToBottom | 項目は上から下へと隣り合って配置され、その後、次の列に折り返されます。 |
layoutDirection : enumeration [since QtQuick.Layouts 1.1]
このプロパティは、グリッドレイアウトのレイアウト方向を指定します。アイテムが左から右へ、あるいは右から左へと配置されるかを制御します。Qt.RightToLeft が指定された場合、左揃えのアイテムは右揃えになり、右揃えのアイテムは左揃えになります。
指定可能な値:
| 定数 | 説明 |
|---|---|
Qt.LeftToRight | (既定値) アイテムは左から右へ配置されます。 |
Qt.RightToLeft | アイテムは右から左に配置されます。 |
このプロパティは QtQuick.Layouts 1.1 で導入されました。
関連項目: RowLayout::layoutDirection およびColumnLayout::layoutDirection 。
rowSpacing : real
このプロパティは、各行間の間隔を指定します。デフォルト値は `5` です。
rows : int
このプロパティは、flow がGridLayout.TopToBottom に設定されている場合に、配置される項目の行数の上限を指定します。デフォルト値は、上限なしです。
uniformCellHeights : bool [since QtQuick.Layouts 6.6]
このプロパティが `true` に設定されている場合、レイアウトはすべてのセルの高さを均一に保つようにします。このモードでは、レイアウトは `Layout.minimumHeight`、`Layout.preferredHeight `、および `Layout.maximumHeight ` を遵守するよう努めますが、すべての項目の要件を満たすために妥協を行う場合があります。
デフォルト値は `false` です。
このプロパティは QtQuick.Layouts 6.6 で導入されました。
GridLayout::uniformCellWidths 、RowLayout::uniformCellSizes 、およびColumnLayout::uniformCellSizesも参照してください 。
uniformCellWidths : bool [since QtQuick.Layouts 6.6]
このプロパティが `true` に設定されている場合、レイアウトはすべてのセルの幅を均一にするよう強制します。このモードでは、レイアウトは `Layout.minimumWidth`、`Layout.preferredWidth `、および `Layout.maximumWidth ` を遵守するよう努めますが、すべての項目の要件を満たすために妥協を行う場合があります。
デフォルト値はfalse です。
このプロパティは QtQuick.Layouts 6.6 で導入されました。
GridLayout::uniformCellHeights 、RowLayout::uniformCellSizes 、およびColumnLayout::uniformCellSizesも参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.