本页内容

GridLayout QML Type

提供了一种在网格中动态排列项目的方法。更多内容...

Import Statement: import QtQuick.Layouts
Inherits:

Item

属性

详细说明

为了更高效地使用此类型,建议您了解Qt Quick Layouts 模块的一般工作原理。更多信息请参阅《Qt Quick Layouts 概述》。

如果 GridLayout 被调整大小,布局中的所有项目都会被重新排列。这与基于小部件的QGridLayout 类似。GridLayout 元素的所有可见子元素都将属于该布局。 若您希望创建仅包含一行或一列的布局,可以使用RowLayout 或ColumnLayout 。这些类提供了更便捷的 API,并提高了代码的可读性。

默认情况下,项目将根据flow 属性进行排列。flow 属性的默认值为GridLayout.LeftToRight 。

如果指定了columns 属性,它将被视为布局的最大列数限制,超过该限制后,自动定位将回卷至下一行的开头。columns 属性仅在flow 的值设为GridLayout.LeftToRight 时才会生效。

按网格排列的文本:三、个、词、在一、行中

GridLayout {
    id: grid
    columns: 3

    Text { text: "Three"; font.bold: true; }
    Text { text: "words"; color: "red" }
    Text { text: "in"; font.underline: true }
    Text { text: "a"; font.pixelSize: 20 }
    Text { text: "row"; font.strikeout: true }
}

rows 属性的工作原理与此类似,但项目是按垂直方向自动定位的。rows 属性仅在flow 的值设为GridLayout.TopToBottom 时才生效。

您可以通过设置 `Layout.row ` 和 `Layout.column ` 属性来指定项目应占据的单元格。您还可以通过设置 `Layout.rowSpan ` 或 `Layout.columnSpan ` 属性来指定行跨度或列跨度。

GridLayout 中的项目支持以下附加属性:

点击此处了解有关附加属性的更多信息。

另请参阅 RowLayout 、ColumnLayout 、StackLayout 、Grid 以及Qt Quick Layouts 概述。

属性文档

columnSpacing : real

该属性用于控制各列之间的间距。默认值为5 。

columns : int

当flow 的值为GridLayout.LeftToRight 时,该属性用于指定定位项的列数上限。默认情况下,不设上限。

flow : enumeration

该属性用于控制未显式设置单元格位置的项目的流向。它需与columns 或rows 属性配合使用,这些属性分别指定何时将流重置到下一行或下一列。

可能的取值为:

Constant描述
GridLayout.LeftToRight(默认)项目先在同一行中并排排列,然后换行至下一行。
GridLayout.TopToBottom项目从上到下并排排列,然后换行至下一列。

另请参阅 rows 和columns 。

layoutDirection : enumeration [since QtQuick.Layouts 1.1]

该属性用于指定网格布局的布局方向——它控制项目是从左到右还是从右到左进行布局。如果指定了Qt.RightToLeft ,则左对齐的项目将变为右对齐,右对齐的项目将变为左对齐。

可能的取值:

常量描述
Qt.LeftToRight(默认)项目从左到右排列。
Qt.RightToLeft项目从右向左排列。

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

另请参阅 RowLayout::layoutDirection 和ColumnLayout::layoutDirection 。

rowSpacing : real

该属性用于指定每行之间的间距。默认值为5 。

rows : int

当flow 的值为GridLayout.TopToBottom 时,此属性用于指定定位项的行数限制。默认值为无限制。

uniformCellHeights : bool [since QtQuick.Layouts 6.6]

如果将此属性设置为true ,布局将强制所有单元格具有统一的高度。在此模式下,布局旨在遵循Layout.minimumHeight 、Layout.preferredHeight 和Layout.maximumHeight 的规范,但可能会做出一些妥协以满足所有项目的要求。

默认值为false 。

该属性于 QtQuick.Layouts 6.6 版本中引入。

另请参阅 GridLayout::uniformCellWidths 、RowLayout::uniformCellSizes 以及ColumnLayout::uniformCellSizes 。

uniformCellWidths : bool [since QtQuick.Layouts 6.6]

如果将此属性设置为true ,布局将强制所有单元格具有统一的宽度。在此模式下,布局旨在遵守Layout.minimumWidth 、Layout.preferredWidth 和Layout.maximumWidth 的规范,但可能会做出一些妥协以满足所有项目的要求。

默认值为false 。

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

另请参阅 GridLayout::uniformCellHeights 、RowLayout::uniformCellSizes 和ColumnLayout::uniformCellSizes 。

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