布局 QML 类型
为推送到 GridLayout、RowLayout 或 ColumnLayout 的项目提供附加属性。 更多...
导入声明 | import QtQuick.Layouts |
附加属性
- alignment : Qt.Alignment
- bottomMargin : real
(since QtQuick.Layouts 1.2)
- column : int
- columnSpan : int
- fillHeight : bool
- fillWidth : bool
- horizontalStretchFactor : int
(since Qt 6.5)
- leftMargin : real
(since QtQuick.Layouts 1.2)
- margins : real
(since QtQuick.Layouts 1.2)
- maximumHeight : real
- maximumWidth : real
- minimumHeight : real
- minimumWidth : real
- preferredHeight : real
- preferredWidth : real
- rightMargin : real
(since QtQuick.Layouts 1.2)
- row : int
- rowSpan : int
- topMargin : real
(since QtQuick_LAYOUTS 1.2)
- verticalStretchFactor : int
(since Qt 6.5)
详细信息
类型为 Layout 的对象附加到布局的子代上,以提供有关特定布局项的布局信息。附加对象属性会影响布局如何排列这些项。
例如,您可以为不满足默认值时指定 minimumWidth、preferredWidth 和 maximumWidth。
当布局大小调整时,项可能会增大或减小。因此,项具有最小尺寸、推荐尺寸和最大尺寸。
如果未显式指定项的最小尺寸,则将大小设置为0
。如果未显式指定项的最大尺寸,则将大小设置为Number.POSITIVE_INFINITY
。
对于布局,隐式最小和最大尺寸取决于布局的内容。
fillWidth和fillHeight属性可以是true
或false
。如果为false
,则项的大小将固定为其推荐尺寸。否则,当布局大小调整时,它将在其最小和最大尺寸之间进行调整。如果设置了多个具有fillWidth
(或fillHeight
)设置为true
的项,布局将根据它们推荐尺寸的比例调整项的大小。
有关布局算法的更多详细信息,还可以参考Qt Quick Layouts Overview。
注意: 不要将布局项的x、y、宽度或高度属性绑定,因为这会与布局的目标冲突,并可能导致绑定循环。布局引擎使用宽度和高度属性来存储从最小/推荐/最大附加属性计算得出的当前项大小,该值在每次项布局时都可能被重写。使用Layout.preferredWidth和Layout.preferredHeight,或者implicitWidth和implicitHeight来指定项的推荐尺寸。
另请参阅 GridLayout、RowLayout以及ColumnLayout。
附加属性文档
Layout.alignment : Qt.Alignment |
此属性允许您指定项在其所占的单元格内的对齐方式。
默认值是0
,这意味着它将是Qt.AlignVCenter | Qt.AlignLeft
。如果只指定水平或垂直标志,这些默认值也将适用:如果只指定水平标志,则默认垂直标志将是Qt.AlignVCenter
,如果只指定垂直标志,则默认水平标志将是Qt.AlignLeft
。
有效的对齐是一个包含以下标志的组合
Layout.bottomMargin : real |
Layout.column : int |
Layout.fillHeight : bool |
如果此属性为 true
,项目将尽可能高,同时遵守给定的约束。如果属性为 false
,项目将具有设置为首选高度的固定高度。默认值取决于项目的隐式(内置)大小策略。
另请参阅fillWidth。
Layout.fillWidth : bool |
如果此属性为 true
,项目将尽可能宽,同时遵守给定的约束。如果属性为 false
,项目将具有设置为首选宽度的固定宽度。默认值取决于项目的隐式(内置)大小策略。
另请参阅fillHeight。
Layout.horizontalStretchFactor : int |
这个属性允许您指定水平拉伸因子。默认情况下,两个线性布局中排列的相同项目将具有相同的大小,但如果第一个项目有1的拉伸因子,第二个项目有2的拉伸因子,第一个项目将 争取 获得可用空间的1/3,而第二个项目将 争取 获得可用空间的2/3。请注意,它们是否成为可用空间的1/3和2/3,取决于它们的尺寸提示。这是因为例如,在水平布局以最小宽度显示时,其所有子项也将相应地具有最小宽度。
同样,当一个水平布局具有其首选宽度时,所有子项都将具有其首选宽度,当一个水平布局具有其最大宽度时,所有子项都将具有其最大宽度。此策略适用于无论各个拉伸因子是多少。因此,拉伸因子将仅确定子项在首选宽度和最大宽度范围内的增长速度。
默认值为 -1
,这意味着不应用拉伸因子。
注意:这要求 Layout::fillWidth 设置为 true
此属性是在 Qt 6.5 中引入的。
另请参阅垂直拉伸因子。
Layout.leftMargin : real |
Layout.margins : real |
将项目外部的边距设置为所有相同的值。项目本身不会评估自己的边距。这是由父元素决定的,是否想要评估边距。
具体来说,仅由ColumnLayout、RowLayout、GridLayout和其他类似布局的容器,如SplitView评估边距,其中项目有效单元格大小的增加将与边距的增加成比例。
因此,如果一个带有边距的项目是另一个Item
的子项,则其位置、大小和隐式大小将保持不变。
结合边距和对齐方式将对项目及其边距进行对齐。例如,一个顶部边距为1
和底部边距为9
的垂直居中项目将使项目在单元格内的有效对齐为上方4像素。
默认值是0
。
此属性是在 QtQuick.Layouts 1.2 中引入的。
Layout.maximumHeight : real |
默认值是项目的隐式最大高度。
如果项目是一种布局,则隐式最大高度将是布局可以具有的最大高度,而不会使其任何项目超过它们自己的最大高度。任何其他项目的隐式最大高度是Number.POSITIVE_INFINITY
。
将该值设置为-1
将重置高度回其隐式最大高度。
Layout.maximumWidth : real |
这个属性持有布局中项目的最大宽度。默认值是项目的隐式最大宽度。
如果项目是布局,则隐式最大宽度将是布局可以具有的最大宽度,而不会使其任何项目超过它们自己的最大宽度。任何其他项目的隐式最大宽度是Number.POSITIVE_INFINITY
。
将该值设置为-1
将重置宽度回其隐式最大宽度。
Layout.minimumHeight : real |
这个属性持有布局中项目的最小高度。默认值是项目的隐式最小高度。
如果项目是布局,则隐式最小高度将是布局可以具有的最小高度,而不会使其任何项目低于它们自己的最小高度。任何其他项目的隐式最小高度是0
。
将该值设置为-1将重置高度回其隐式最小高度。
Layout.minimumWidth : real |
这个属性持有布局中项目的最小宽度。默认值是项目的隐式最小宽度。
如果项目是布局,则隐式最小宽度将是布局可以具有的最小宽度,而不会使其任何项目低于它们自己的最小宽度。任何其他项目的隐式最小宽度是0
。
将该值设置为-1将重置宽度回其隐式最小宽度。
Layout.preferredWidth : 实数 |
此属性保存了布局中项的推荐宽度。如果推荐宽度为-1
,则将其忽略,布局将使用隐式宽度。默认值为-1
。
另请参阅minimumWidth和maximumWidth。
Layout.rightMargin : 实数 |
Layout.row : 整数 |
Layout.rowSpan : 整数 |
Layout.topMargin : 实数 |
Layout.verticalStretchFactor : 整数 |
此属性允许您指定垂直拉伸因子。默认情况下,线性布局中排列的两个相同项将具有相同的大小,但如果第一个项的拉伸因子为1,而第二个项的拉伸因子为2,则第一个项将希望获得可用的1/3空间,而第二个项将希望获得2/3的可用的空间。请注意,它们是否成为1/3和2/3的可用的空间取决于它们的大小提示。这是因为例如,当垂直布局按其最小高度显示时,其所有子项也将相应地具有最小高度。
同样,当垂直布局具有推荐的高度时,所有子项将具有推荐的高度,当垂直布局具有最大高度时,所有子项将具有最大高度。此策略不考虑单个拉伸因子。因此,拉伸因子将仅确定子项在preferredHeight和maximumHeight范围之间的增长率。
默认值为 -1
,这意味着不应用拉伸因子。
注意:这需要将 Layout::fillHeight 设置为 true
此属性是在 Qt 6.5 中引入的。
另请参阅 horizontalStretchFactor.
© 2024 The Qt Company Ltd. 本文档中的贡献资料均为各自所有者的版权。本文档受Free Software Foundation发布的GNU自由文档许可证第1.3版条款许可。Qt及其相关标志是芬兰及世界各地的The Qt Company Ltd.的商标。所有其他商标均属各自所有者。