在本页

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 ,则项目的固定高度将设置为首选高度。默认值取决于项目的隐式(内置)尺寸策略。

注: 默认情况下,该属性在布局中为true

另请参阅 fillWidth

Layout.fillWidth : bool

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

注: 默认情况下,该属性对布局而言是true

另请参阅 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]

设置项目外的所有边距都具有相同的值。条目本身不会评估自己的边距。是否要评估页边距是父代的责任。

具体来说,只有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

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