Тип QML GridLayout
Предоставляет способ динамичного размещения элементов в таблице. Подробнее...
| Заявление импорта: | import QtQuick.Layouts 1.1 |
| Наследует: |
Свойства
- columnSpacing : real
- columns : int
- flow : перечисление
- layoutDirection : перечисление
- rowSpacing : real
- rows : int
Подробное описание
Если размер 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 поддерживают следующие присоединенные свойства:
- Layout.row
- Layout.column
- Layout.rowSpan
- Layout.columnSpan
- Layout.minimumWidth
- Layout.minimumHeight
- Layout.preferredWidth
- Layout.preferredHeight
- Layout.maximumWidth
- Layout.maximumHeight
- Layout.fillWidth
- Layout.fillHeight
- Layout.alignment
- Layout.margins
- Layout.leftMargin
- Layout.rightMargin
- Layout.topMargin
- Layout.bottomMargin
Дополнительную информацию о присоединенных свойствах см. здесь.
См. также RowLayout, ColumnLayout и Grid.
Документация по свойствам
columnSpacing : real
Это свойство содержит отступ между каждым столбцом. Значение по умолчанию равно 5.
columns : int
Это свойство содержит ограничение столбцов для элементов, позиционируемых, если flow равно GridLayout.LeftToRight. По умолчанию ограничений нет.
flow : перечисление
Это свойство содержит направление потока элементов, у которых нет явного положения ячейки. Оно используется совместно со свойством columns или rows, где они указывают, когда поток сбрасывается на следующую строку или столбец, соответственно.
Возможные значения:
- GridLayout.СлеваНаправо (по умолчанию) - элементы размещаются рядом друг с другом, затем переходят на следующую строку.
- GridLayout.СверхуВниз - элементы размещаются рядом друг с другом сверху вниз, затем переходят на следующий столбец.
[since QtQuick.Layouts 1.1] layoutDirection : перечисление
Это свойство содержит направление макета таблицы - оно управляет тем, размещаются ли элементы слева направо или справа налево. Если задано Qt.RightToLeft, элементы, выровненные по левому краю, будут выровнены по правому краю, а элементы, выровненные по правому краю, будут выровнены по левому краю.
Возможные значения:
- Qt.СлеваНаправо (по умолчанию) - элементы размещаются слева направо.
- Qt.СправаНалево - элементы размещаются справа налево.
Это свойство было введено в QtQuick.Layouts 1.1.
См. также RowLayout::layoutDirection и ColumnLayout::layoutDirection.
rowSpacing : real
Это свойство содержит отступ между каждой строкой. Значение по умолчанию равно 5.
rows : int
Это свойство содержит ограничение строк для элементов, позиционируемых, если flow равно GridLayout.TopToBottom. По умолчанию ограничений нет.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick-layouts-gridlayout.html