布局 QML 类型

为推送到 GridLayoutRowLayoutColumnLayout 的项目提供附加属性。 更多...

导入声明import QtQuick.Layouts

附加属性

详细信息

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

例如,您可以为不满足默认值时指定 minimumWidthpreferredWidthmaximumWidth

当布局大小调整时,项可能会增大或减小。因此,项具有最小尺寸推荐尺寸最大尺寸

如果未显式指定项的最小尺寸,则将大小设置为0。如果未显式指定项的最大尺寸,则将大小设置为Number.POSITIVE_INFINITY

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

fillWidthfillHeight属性可以是truefalse。如果为false,则项的大小将固定为其推荐尺寸。否则,当布局大小调整时,它将在其最小和最大尺寸之间进行调整。如果设置了多个具有fillWidth(或fillHeight)设置为true的项,布局将根据它们推荐尺寸的比例调整项的大小。

有关布局算法的更多详细信息,还可以参考Qt Quick Layouts Overview

注意: 不要将布局项的x、y、宽度或高度属性绑定,因为这会与布局的目标冲突,并可能导致绑定循环。布局引擎使用宽度和高度属性来存储从最小/推荐/最大附加属性计算得出的当前项大小,该值在每次项布局时都可能被重写。使用Layout.preferredWidthLayout.preferredHeight,或者implicitWidthimplicitHeight来指定项的推荐尺寸。

另请参阅 GridLayoutRowLayout以及ColumnLayout

附加属性文档

Layout.alignment : Qt.Alignment

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

默认值是0,这意味着它将是Qt.AlignVCenter | Qt.AlignLeft。如果只指定水平或垂直标志,这些默认值也将适用:如果只指定水平标志,则默认垂直标志将是Qt.AlignVCenter,如果只指定垂直标志,则默认水平标志将是Qt.AlignLeft

有效的对齐是一个包含以下标志的组合


Layout.bottomMargin : real [自 QtQuick.Layouts 1.2 开始]

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

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

另请参阅 margins


Layout.column : int

此属性允许您指定项在GridLayout中的列位置。

如果未设置row和此属性,则由布局确定为该项分配单元格。

默认值是0

另请参阅 列跨越


Layout.columnSpan : int

该属性允许您指定网格布局中一个项目的列跨越。

默认值为 1

另请参阅行跨越


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,取决于它们的尺寸提示。这是因为例如,在水平布局以最小宽度显示时,其所有子项也将相应地具有最小宽度。

同样,当一个水平布局具有其首选宽度时,所有子项都将具有其首选宽度,当一个水平布局具有其最大宽度时,所有子项都将具有其最大宽度。此策略适用于无论各个拉伸因子是多少。因此,拉伸因子将仅确定子项在首选宽度最大宽度范围内的增长速度。

默认值为 -1,这意味着不应用拉伸因子。

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

此属性是在 Qt 6.5 中引入的。

另请参阅垂直拉伸因子


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

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

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

另请参阅 margins


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

将项目外部的边距设置为所有相同的值。项目本身不会评估自己的边距。这是由父元素决定的,是否想要评估边距。

具体来说,仅由ColumnLayoutRowLayoutGridLayout和其他类似布局的容器,如SplitView评估边距,其中项目有效单元格大小的增加将与边距的增加成比例。

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

结合边距和对齐方式将对项目及其边距进行对齐。例如,一个顶部边距为1和底部边距为9的垂直居中项目将使项目在单元格内的有效对齐为上方4像素。

默认值是0

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

另请参阅leftMargintopMarginrightMarginbottomMargin


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 : 实数

此属性保存了布局中项的推荐高度。如果推荐高度为-1,则将其忽略,布局将使用隐式高度。默认值为-1

另请参阅minimumHeightmaximumHeight


Layout.preferredWidth : 实数

此属性保存了布局中项的推荐宽度。如果推荐宽度为-1,则将其忽略,布局将使用隐式宽度。默认值为-1

另请参阅minimumWidthmaximumWidth


Layout.rightMargin : 实数 [自QtQuick.Layouts 1.2起]

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

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

另请参阅 margins


Layout.row : 整数

此属性允许您指定项在GridLayout中的行位置。

如果column和此属性均未设置,则由布局分配单元格给项。

默认值是0

另请参阅columnrowSpan


Layout.rowSpan : 整数

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

默认值为 1

另请参阅columnSpanrow


Layout.topMargin : 实数 [自Qt 6.5起]

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

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

另请参阅 margins


Layout.verticalStretchFactor : 整数 [自Qt 6.5起]

此属性允许您指定垂直拉伸因子。默认情况下,线性布局中排列的两个相同项将具有相同的大小,但如果第一个项的拉伸因子为1,而第二个项的拉伸因子为2,则第一个项将希望获得可用的1/3空间,而第二个项将希望获得2/3的可用的空间。请注意,它们是否成为1/3和2/3的可用的空间取决于它们的大小提示。这是因为例如,当垂直布局按其最小高度显示时,其所有子项也将相应地具有最小高度。

同样,当垂直布局具有推荐的高度时,所有子项将具有推荐的高度,当垂直布局具有最大高度时,所有子项将具有最大高度。此策略不考虑单个拉伸因子。因此,拉伸因子将仅确定子项在preferredHeightmaximumHeight范围之间的增长率。

默认值为 -1,这意味着不应用拉伸因子。

注意:这需要将 Layout::fillHeight 设置为 true

此属性是在 Qt 6.5 中引入的。

另请参阅 horizontalStretchFactor.


© 2024 The Qt Company Ltd. 本文档中的贡献资料均为各自所有者的版权。本文档受Free Software Foundation发布的GNU自由文档许可证第1.3版条款许可。Qt及其相关标志是芬兰及世界各地的The Qt Company Ltd.的商标。所有其他商标均属各自所有者。