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 Layouts モジュールの一般的なメカニズムを理解しておくことをお勧めする。詳細はQt Quick Layouts Overviewを参照してください。
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
attachedプロパティの詳細については、こちらを参照してください。
RowLayout,ColumnLayout,StackLayout,Grid,Qt Quick Layouts 概要も参照してください 。
プロパティのドキュメント
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.