FlexboxLayout QML Type
FlexboxLayout QML 構文は、クイックアイテム用のフレックスレイアウトを提供します。詳細...
| Import Statement: | import QtQuick.Layouts |
| Since: | Qt 6.10 |
| Inherits: | |
| Status: | Technology preview |
このタイプはテクノロジープレビュー段階にあり、変更される可能性があります。
プロパティ
- alignContent : enumeration
- alignItems : enumeration
- columnGap : real
- direction : enumeration
- gap : real
- justifyContent : enumeration
- rowGap : real
- wrap : enumeration
関連プロパティ
- alignSelf : enumeration
詳細な説明
FlexboxLayout を使用すると、CSS のフレキシブルボックスレイアウトと同様に、クイックアイテムを柔軟に配置することができます。内部的には、Qt FlexboxLayout はyoga エンジンを使用して、フレックスアイテムのジオメトリを算出しています。yogaライブラリは、CSSフレキシブルボックスレイアウトのサブセットです。したがって、FlexboxLayoutで利用できる機能は、yogaライブラリでサポートされている機能に限定されます。
注:FlexboxLayoutは 、その機能においてヨガライブラリバージョン2.0に準拠しています。
FlexboxLayout内のアイテムは、既存のレイアウト関連プロパティを通じて、推奨サイズ、最小サイズ、最大サイズを設定できます。例えば、FlexboxLayout内のアイテムを伸縮させる必要がある場合は、レイアウト関連プロパティLayout.fillWidth またはLayout.fillHeight を設定できます。
FlexboxLayout内のアイテムは、以下のアタッチドプロパティをサポートしています:
- FlexboxLayout.alignSelf
- Layout.minimumWidth
- Layout.minimumHeight
- Layout.preferredWidth
- Layout.preferredHeight
- Layout.maximumWidth
- Layout.maximumHeight
- Layout.fillWidth
- Layout.fillHeight
- Layout.margins
- Layout.leftMargin
- Layout.rightMargin
- Layout.topMargin
- Layout.bottomMargin
アタッチドプロパティの詳細については、こちらをご覧ください。
このタイプをより効率的に使用するためには、Qt Quick レイアウト モジュールの一般的な仕組みを理解しておくことをお勧めします。詳細については、「Qt Quick レイアウトの概要」を参照してください。
使用例
以下のスニペットは、QMLのFlexboxLayoutを使用して矩形アイテムをより柔軟に配置する最小限の例を示しています
FlexboxLayout {
id: flexLayout
anchors.fill: parent
wrap: FlexboxLayout.Wrap
direction: FlexboxLayout.Row
justifyContent: FlexboxLayout.JustifySpaceAround
Rectangle {
color: 'teal'
implicitWidth: 200
implicitHeight: 200
}
Rectangle {
color: 'plum'
implicitWidth: 200
implicitHeight: 200
}
Rectangle {
color: 'olive'
implicitWidth: 200
implicitHeight: 200
}
Rectangle {
color: 'beige'
implicitWidth: 200
implicitHeight: 200
}
Rectangle {
color: 'darkseagreen'
implicitWidth: 200
implicitHeight: 200
}
}注:この APIは テクニカルプレビューと見なされており、将来のQtのバージョンで変更または削除される可能性があります。
関連項目: ColumnLayout 、GridLayout 、RowLayout 、StackView 、およびQt Quick Layouts Overview。
プロパティのドキュメント
alignContent : enumeration
このプロパティは、フレックスボックスレイアウトの横軸に沿ったフレックスラインの配置を指定します。
指定可能な値:
| 定数 | 説明 |
|---|---|
FlexboxLayout.AlignStart | フレックスラインは、フレックスボックスレイアウトの開始位置に揃えられます。 |
FlexboxLayout.AlignCenter | フレックスラインは、フレックスボックスレイアウトの中央に沿って配置されます。 |
FlexboxLayout.AlignEnd | フレックスラインは、フレックスボックスレイアウトの末尾に揃えられます。 |
FlexboxLayout.AlignStretch | (デフォルト) フレックスラインは、フレックスボックスレイアウトの高さに応じて伸縮します。 |
FlexboxLayout.AlignSpaceBetween | 行間のスペースは各行に均等に配分され、フレックスボックスレイアウトの端にはスペースがありません。 |
FlexboxLayout.AlignSpaceAround | 行間のスペースは均等に配分され、フレックスボックスレイアウトの端には半分のサイズのスペースが配置されます。 |
FlexboxLayout.AlignSpaceEvenly | 行とフレックスボックスレイアウトの端との間に、スペースが均等に分配されます。Qt 6.10 ではサポートされていません。 |
デフォルト値は `FlexboxLayout.AlignStart` です。
alignItems : enumeration
このプロパティは、フレックスボックスレイアウトのフレックス行内における項目の配置を指定するもので、クロス軸(direction プロパティで定義されるメイン軸に直交する軸)に沿って配置されます。このプロパティは、フレックスボックスレイアウト内の項目が、アタッチドプロパティFlexboxLayout.alignSelf を通じて上書きすることができます。
有効な値:
| 定数 | 説明 |
|---|---|
FlexboxLayout.AlignStart | (デフォルト) アイテムは、フレックスボックスレイアウトのクロス軸の始点に揃えられます。 |
FlexboxLayout.AlignCenter | アイテムは、フレックスボックスレイアウトのクロス軸の中心に沿って配置されます。 |
FlexboxLayout.AlignEnd | アイテムは、フレックスボックスレイアウトのクロス軸の端に揃えられます。 注: 可能な値に記載されている配置は 、alignItems プロパティにのみ適用されます。 |
デフォルト値はFlexboxLayout.AlignStart です。
columnGap : real
このプロパティは、インライン軸に沿ってFlexboxLayout に適用されるスペースの量を指定します。このプロパティを設定すると、インライン軸に影響するgap の値が上書きされます。
デフォルト値は `0` です。
direction : enumeration
このプロパティは、フレックスボックスレイアウト内の項目の配置方向を指定し、主軸を定義します。
指定可能な値:
| 定数 | 説明 |
|---|---|
FlexboxLayout.Row | (既定値) アイテムは左から右へと配置されます。 |
FlexboxLayout.RowReversed | アイテムは右から左へ配置されます。 |
FlexboxLayout.Column | 項目は上から下へ配置されます。 |
FlexboxLayout.ColumnReversed | 項目は下から上へ配置されます。 |
デフォルト値はFlexboxLayout.Row です。
gap : real
このプロパティは、FlexboxLayout に対して、インライン軸とブロック軸の両方に適用されるスペースの量を指定します。
デフォルト値は `0` です。
justifyContent : enumeration
このプロパティは、フレックスボックスレイアウトの主軸に沿った項目の配置を指定します。
指定可能な値:
| 定数 | 説明 |
|---|---|
FlexboxLayout.JustifyStart | (既定値) アイテムはフレックスボックスレイアウトの先頭に揃えられます。 |
FlexboxLayout.JustifyCenter | アイテムはフレックスボックスレイアウトの中央に配置されます。 |
FlexboxLayout.JustifyEnd | アイテムはフレックスボックスレイアウトの末尾に揃えられます。 |
FlexboxLayout.JustifySpaceBetween | スペースはアイテム間で均等に分配され、フレックスボックスレイアウトの端にはスペースがありません。 |
FlexboxLayout.JustifySpaceAround | アイテム間のスペースは均等に配分され、フレックスボックスレイアウトの端には半分の幅のスペースが配置されます。 |
FlexboxLayout.JustiftSpaceEvenly | スペースは、アイテムとフレックスボックスレイアウトの端の間で均等に分配されます。 |
デフォルト値は `FlexboxLayout.JustifyStart` です。
rowGap : real
このプロパティは、ブロック軸に沿ってFlexboxLayout に適用する必要があるスペースの量を指定します。このプロパティを設定すると、ブロック軸に影響を与えるgap の値が上書きされます。
デフォルト値は `0` です。
wrap : enumeration
このプロパティは、フレックスボックスレイアウト内のアイテムが行を折り返すかどうかを指定するもので、子要素がフレックスボックスレイアウトのサイズからはみ出した場合に発生します。アイテムが行を折り返す場合、前述のオーバーフローの状態に応じて、複数の行に配置されます。各行は、横軸に沿ってアイテムの最大サイズを占めます。
有効な値:
| 定数 | 説明 |
|---|---|
FlexboxLayout.Wrap | フレックスボックスレイアウト内で、アイテムが複数行に折り返されます。 |
FlexboxLayout.NoWrap | (既定値) アイテムは改行されず、フレックスボックスレイアウト内で1行に配置されます。 |
FlexboxLayout.WrapReverse | フレックスボックスレイアウト内で、アイテムが逆方向に複数行に折り返されます。 |
デフォルト値はFlexboxLayout.NoWrap です。
関連するプロパティのドキュメント
FlexboxLayout.alignSelf : enumeration [attached]
この添付プロパティを使用すると、フレックスボックスレイアウトにおいて、このアイテムをクロス軸に沿って配置することができ、親のフレックスボックスレイアウトプロパティ `alignItems` を上書きします。
デフォルトでは、子要素は親要素からの配置を継承しますが、値 `FlexboxLayout.AlignStart`、`FlexboxLayout.AlignCenter `、および `FlexboxLayout.AlignEnd` を使用して、親要素のフレックスボックスレイアウトプロパティ `alignItems ` を上書きすることができます。
デフォルト値は `FlexboxLayout.AlignAuto` です。
© 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.