Layout QML Type

为推送到GridLayout,RowLayoutColumnLayout 的项目提供附加属性 ... 更多...

Import Statement: import QtQuick.Layouts

附加属性

详细说明

布局类型的对象会附加到布局的子对象上,以提供有关项目的布局特定信息。附加对象的属性会影响布局如何排列项目。

例如,如果默认值不理想,可以指定minimumWidthpreferredWidthmaximumWidth

调整布局大小时,项目可能会增大或缩小。因此,项目有minimum sizepreferred sizemaximum size

如果未明确指定项目的最小尺寸,则会将其设置为0 。如果未明确指定项目的最大尺寸,则会将其设置为Number.POSITIVE_INFINITY

对于布局,隐式最小和最大尺寸取决于布局的内容。

fillWidthfillHeight 属性可以是truefalse 。如果是false ,项目的大小将固定为首选大小。否则,在调整布局大小时,它将在最小和最大尺寸之间增大或缩小。如果有多个项目的fillWidth (或fillHeight )设置为true ,布局将根据项目首选大小的比例来增大或缩小项目。

有关布局算法的更多详情,请参阅Qt Quick 布局概述

注意: 请勿绑定布局中项的 x、y、宽度或高度属性,因为这与布局的目标相冲突,而且还会导致绑定循环。布局引擎会使用宽度和高度属性来存储根据最小/首选/最大附加属性计算得出的项目当前尺寸,并可在每次布局项目时改写。使用Layout.preferredWidthLayout.preferredHeight ,或implicitWidthimplicitHeight 来指定项目的首选尺寸。

另请参阅 GridLayout,RowLayout, 和ColumnLayout

附加属性文档

Layout.alignment : Qt.Alignment

该属性允许您指定项目在其所占单元格中的对齐方式。

默认值为0 ,即Qt.AlignVCenter | Qt.AlignLeft 。如果只指定了水平或垂直标志,这些默认值也同样适用:如果只指定了水平标志,则默认垂直标志为Qt.AlignVCenter ,如果只指定了垂直标志,则默认水平标志为Qt.AlignLeft

有效的对齐方式是以下标志的组合:


Layout.bottomMargin : real [since QtQuick.Layouts 1.2]

指定项目外部的底边距。如果未设置该值,将使用margins 中的值。

该属性在 QtQuick.Layouts 1.2 中引入。

另请参阅 margins


Layout.column : int

该属性允许您指定GridLayout 中项目的列位置。

如果row 和此属性均未设置,则由布局为项目指定单元格。

默认值为0

另请参阅 rowcolumnSpan


Layout.columnSpan : int

该属性允许您在GridLayout 中指定项的列跨度。

默认值为1

另请参阅 rowSpancolumn


Layout.fillHeight : bool

如果该属性为true ,则在遵守给定约束的前提下,项目将尽可能高。如果该属性为false ,则项目的固定高度将设置为首选高度。默认值取决于项目的隐式(内置)尺寸策略。

另请参阅 fillWidth


Layout.fillWidth : bool

如果该属性为true ,项目将在遵守给定限制的前提下尽可能宽。如果该属性为false ,项目的固定宽度将设置为首选宽度。默认值取决于项目的隐式(内置)尺寸策略。

另请参阅 fillHeight


Layout.horizontalStretchFactor : int [since Qt 6.5]

此属性允许您指定水平拉伸因子。默认情况下,在线性布局中排列的两个相同项目将具有相同的大小,但如果第一个项目的拉伸因子为 1,第二个项目的拉伸因子为 2,则第一个项目将争取获得可用空间的 1/3,第二个项目将争取获得可用空间的 2/3。需要注意的是,它们是否恰好成为可用空间的 1/3 和 2/3,取决于它们的大小提示。这是因为,当一个水平布局以最小宽度显示时,它的所有子项也将随之以最小宽度显示。

同样,当一个水平布局以其首选宽度显示时,所有子项也将以其首选宽度显示;而当一个水平布局以其最大宽度显示时,所有子项也将以其最大宽度显示。无论各个拉伸因子是多少,这一策略都会被应用。因此,拉伸因子只能决定preferredWidthmaximumWidth 之间子项的增长率。

默认值为-1 ,即不应用拉伸因子。

注意: 这要求Layout::fillWidth 设置为 true

此属性在 Qt 6.5 中引入。

另请参阅 verticalStretchFactor


Layout.leftMargin : real [since QtQuick.Layouts 1.2]

指定项目外部的左侧边距。如果未设置该值,则将使用margins 中的值。

此属性在 QtQuick.Layouts 1.2 中引入。

另请参阅 margins


Layout.margins : real [since QtQuick.Layouts 1.2]

将项目外部的 margin 设置为相同值。项目本身不评估自己的边距。决定是否要评估边距是父项的责任。

具体来说,只有ColumnLayout,RowLayout,GridLayout 和其他类似布局的容器(如SplitView )才会评估边距,在这些容器中,项目的有效单元格大小会随着边距的增加而增大。

因此,如果带边距的项目是另一个Item 的子项,其位置、大小和隐式大小将保持不变。

将页边距与对齐方式结合使用,将对齐包括页边距在内的项目。例如,一个垂直居中的项目,其上边距为1 ,下边距为9 ,这将导致该项目在单元格内的有效对齐方式为居中上方 4 像素。

默认值为0

该属性在 QtQuick.Layouts 1.2 中引入。

另请参阅 leftMargin,topMargin,rightMargin, 和bottomMargin


Layout.maximumHeight : real

默认值是项目的隐式最大高度。

如果该项目是一个布局,则隐式最大高度将是该布局在其任何项目不超过其最大高度的情况下可具有的最大高度。任何其他项目的隐式最大高度都是Number.POSITIVE_INFINITY

将该值设置为-1 后,高度将重置为隐式最大高度。

另请参阅 minimumHeightpreferredHeight


Layout.maximumWidth : real

此属性用于保存布局中项目的最大宽度。默认值是项目的隐式最大宽度。

如果该项目是一个布局,则隐式最大宽度将是该布局在没有任何项目超出其最大宽度的情况下所能具有的最大宽度。任何其他项目的隐式最大宽度都是Number.POSITIVE_INFINITY

将该值设置为-1 后,宽度将重置为隐式最大宽度。

另请参阅 minimumWidthpreferredWidth


Layout.minimumHeight : real

该属性用于保存布局中项目的最小高度。默认值是项目的隐式最小高度。

如果该项目是一个布局,则隐式最小高度将是该布局在没有任何项目收缩到其最小高度以下时的最小高度。其他项目的隐式最小高度为0

将该值设置为-1 将重置高度为隐式最小高度。

另请参阅 preferredHeightmaximumHeight


Layout.minimumWidth : real

该属性用于保存布局中项目的最小宽度。默认值是项目的隐式最小宽度。

如果该项目是一个布局,则隐式最小宽度将是该布局在不使其任何项目收缩到最小宽度以下的情况下所能具有的最小宽度。其他项目的隐式最小宽度为0

将该值设置为-1 将使宽度重置为隐式最小宽度。

另请参阅 preferredWidthmaximumWidth


Layout.preferredHeight : real

该属性用于保存布局中项目的首选高度。如果首选高度是-1 ,它将被忽略,布局将使用implicitHeight 代替。默认值为-1

另请参阅 minimumHeightmaximumHeight


Layout.preferredWidth : real

该属性用于保存布局中项目的首选宽度。如果首选宽度为-1 ,它将被忽略,布局将使用implicitWidth 代替。默认值为-1

另请参阅 minimumWidthmaximumWidth


Layout.rightMargin : real [since QtQuick.Layouts 1.2]

指定项目外部的右边距。如果未设置该值,则将使用margins 中的值。

该属性在 QtQuick.Layouts 1.2 中引入。

另请参阅 margins


Layout.row : int

该属性允许您指定GridLayout 中项目的行位置。

如果column 和此属性均未设置,则由布局为项目指定单元格。

默认值为0

另请参阅 columnrowSpan


Layout.rowSpan : int

该属性允许您在GridLayout 中指定项的行跨度。

默认值为1

另请参阅 columnSpanrow


Layout.topMargin : real [since QtQuick.Layouts 1.2]

指定项目外部的顶边距。如果未设置该值,将使用margins 中的值。

该属性在 QtQuick.Layouts 1.2 中引入。

另请参阅 margins


Layout.useDefaultSizePolicy : enumeration [since 6.8]

该属性允许用户在组件级别配置布局尺寸策略。

默认值将通过查询应用程序属性Qt::AA_QtQuickUseDefaultSizePolicy 继承。您可以使用该属性覆盖该值。

常量说明
Layout.SizePolicyImplicit布局中的项目使用隐式或内置尺寸策略
Layout.SizePolicyExplicit布局中的项目不使用隐式尺寸策略。

此属性在 Qt 6.8 中引入。


Layout.verticalStretchFactor : int [since Qt 6.5]

该属性允许你指定垂直拉伸因子。默认情况下,在线性布局中排列的两个相同项目的大小相同,但如果第一个项目的拉伸因子为 1,第二个项目的拉伸因子为 2,则第一个项目的目标是获得可用空间的 1/3,第二个项目的目标是获得可用空间的 2/3。需要注意的是,它们是否恰好成为可用空间的 1/3 和 2/3,取决于它们的大小提示。这是因为,当一个垂直布局以最小高度显示时,它的所有子项也将随之以最小高度显示。

同样,当一个垂直布局以其首选高度显示时,所有子项也将以其首选高度显示;而当一个垂直布局以其最大高度显示时,所有子项也将以其最大高度显示。无论各个拉伸因子是多少,这一策略都会被应用。因此,拉伸因子只能决定preferredHeightmaximumHeight 之间子项的增长率。

默认值为-1 ,即不应用拉伸因子。

注意: 这要求Layout::fillHeight 设置为 true

此属性在 Qt 6.5 中引入。

另请参阅 horizontalStretchFactor


© 2025 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.