- Qt 6.6
- Qt Quick
- QML Types
- QtQuick.Layouts
- ColumnLayout
- Qt 6.6.2 Reference Documentation

# ColumnLayout QML Type

Identical to GridLayout, but having only one column. More...

Import Statement: | import QtQuick.Layouts
Inherits: | Item

- List of all members, including inherited members

## Properties

- layoutDirection : enumeration
- spacing : real
- uniformCellSizes : bool

## Detailed Description

To be able to use this type more efficiently, it is recommended that you understand the general mechanism of the Qt Quick Layouts module. Refer to Qt Quick Layouts Overview for more information.

It is available as a convenience for developers, as it offers a cleaner API.

Items in a ColumnLayout support these attached properties:

- 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

     ColumnLayout{
         spacing: 2

         Rectangle {
             Layout.alignment: Qt.AlignCenter
             color: "red"
             Layout.preferredWidth: 40
             Layout.preferredHeight: 40
         }

         Rectangle {
             Layout.alignment: Qt.AlignRight
             color: "green"
             Layout.preferredWidth: 40
             Layout.preferredHeight: 70
         }

         Rectangle {
             Layout.alignment: Qt.AlignBottom
             Layout.fillHeight: true
             color: "blue"
             Layout.preferredWidth: 70
             Layout.preferredHeight: 40
         }
     }

Read more about attached properties here.

See also RowLayout, GridLayout, StackLayout, Column, and Qt Quick Layouts Overview.

## Property Documentation

[since QtQuick.Layouts 1.1] layoutDirection : enumeration

This property holds the layout direction of the column layout - it controls whether items are laid out from left to right or right to left. If `Qt.RightToLeft` is specified, left-aligned items will be right-aligned and right-aligned items will be left-aligned.

Possible values:

Constant | Description
--- | ---
`Qt.LeftToRight` | (default) Items are laid out from left to right.
`Qt.RightToLeft` | Items are laid out from right to left

This property was introduced in QtQuick.Layouts 1.1.

See also GridLayout::layoutDirection and RowLayout::layoutDirection.

spacing : real

This property holds the spacing between each cell. The default value is `5`.

[since QtQuick.Layouts 6.6] uniformCellSizes : bool

If this property is set to `true`, the layout will force all cells to have a uniform size.

Note: This API is considered tech preview and may change or be removed in future versions of Qt.

This property was introduced in QtQuick.Layouts 6.6.

See also GridLayout::uniformCellWidths, GridLayout::uniformCellHeights, and RowLayout::uniformCellSizes.