Тип QML Column
Размещает своих потомков в колонке. Подробнее...
| Заявление об импорте: | import QtQuick 2.0 |
| Наследует: |
Свойства
- add : Переход
- bottomPadding : вещественное число
- leftPadding : вещественное число
- move : Переход
- padding : вещественное число
- populate : Переход
- rightPadding : вещественное число
- spacing : вещественное число
- topPadding : вещественное число
Сигналы
Методы
Подробное описание
Column — это тип, который позиционирует свои дочерние элементы вдоль одной колонки. Его можно использовать как удобный способ вертикального позиционирования ряда элементов без использования якорей.
Ниже показан Column, содержащий три прямоугольника различных размеров:
Column {
spacing: 2
Rectangle { color: "red"; width: 50; height: 50 }
Rectangle { color: "green"; width: 20; height: 50 }
Rectangle { color: "blue"; width: 50; height: 20 }
} Column автоматически позиционирует эти элементы в вертикальном формировании, подобно этому:
Если элемент внутри Column не видим, или если его ширина или высота равны 0, элемент не будет размещен и не будет виден в колонке. Кроме того, поскольку Column автоматически позиционирует свои дочерние элементы вертикально, дочерний элемент внутри Column не должен устанавливать своё положение по оси y или вертикально привязывать себя с помощью якорей top, bottom, anchors.verticalCenter, fill или centerIn. Если вам необходимо выполнить эти действия, рассмотрите позиционирование элементов без использования Column.
Обратите внимание, что элементы в колонке могут использовать свойство Positioner, чтобы получить больше информации о своем положении в колонке.
Дополнительную информацию об использовании Column и других связанных типах позиционеров см. в разделе Позиционеры элементов.
Использование переходов
Column анимирует элементы, используя определенные переходы, когда элементы добавляются или перемещаются внутри Column.
Например, в Column ниже свойство move установлено в определенный переход:
Column {
spacing: 2
Rectangle { color: "red"; width: 50; height: 50 }
Rectangle { id: greenRect; color: "green"; width: 20; height: 50 }
Rectangle { color: "blue"; width: 50; height: 20 }
move: Transition {
NumberAnimation { properties: "x,y"; duration: 1000 }
}
focus: true
Keys.onSpacePressed: greenRect.visible = !greenRect.visible
} Когда нажимается клавиша пробела, значение visible зеленого прямоугольника переключается. По мере его появления и исчезновения синий прямоугольник перемещается внутри Column, и переход move автоматически применяется к синему прямоугольнику:
См. также Row, Grid, Flow, Positioner, ColumnLayout и Примеры Qt Quick — Позиционеры.
Документация по свойствам
[since 5.6] bottomPadding : вещественное число
Эти свойства содержат отступы вокруг содержимого.
Это свойство QML было добавлено в Qt 5.6.
add : Переход
Это свойство содержит переход, который будет выполнен для элементов, которые добавляются в этот позиционер. Для позиционера это относится к:
- Элементам, которые создаются или переродируются в качестве дочерних элементов позиционера после создания позиционера
- Дочерним элементам, которые изменяют свойство Item::visible с false на true и, таким образом, теперь видны
Переход может использовать свойство ViewTransition, чтобы получить больше деталей об элементе, который добавляется. Смотрите документацию ViewTransition для получения более подробной информации и примеров использования этих переходов.
Примечание: Этот переход не применяется к элементам, которые уже являются частью позиционера во время его создания. В этом случае применяется переход populate.
См. также populate, ViewTransition и Примеры Qt Quick — Позиционеры.
move : Переход
Это свойство содержит переход, который будет выполнен для элементов, которые были перемещены внутри позиционера. Для позиционера это относится к:
- Дочерним элементам, которые перемещаются при смещении из-за добавления, удаления или переупорядочения других элементов в позиционере
- Дочерним элементам, которые перепозиционируются из-за изменения размеров других элементов в позиционере
Переход может использовать свойство ViewTransition, чтобы получить больше деталей об элементе, который перемещается. Однако обратите внимание, что для этого перехода перемещения списки ViewTransition.targetIndexes и ViewTransition.targetItems устанавливаются только тогда, когда этот переход инициируется добавлением других элементов в позиционер; в других случаях эти списки будут пусты. См. документацию ViewTransition для получения более подробной информации и примеров использования этих переходов.
См. также add, populate, ViewTransition и Примеры Qt Quick — Позиционеры.
populate : Переход
Это свойство содержит переход, который будет выполнен для элементов, которые являются частью этого позиционера во время его создания. Переход выполняется при первом создании позиционера.
Переход может использовать свойство ViewTransition, чтобы получить больше деталей об элементе, который добавляется. См. документацию ViewTransition для получения более подробной информации и примеров использования этих переходов.
См. также add, ViewTransition и Примеры Qt Quick — Позиционеры.
spacing : вещественное число
Отступ — это количество пикселей, оставленных пустыми между соседними элементами. Значение по умолчанию — 0.
См. также Grid::spacing.
Документация по сигналам
[since 5.9] positioningComplete()
Этот сигнал испускается, когда позиционирование завершено.
Примечание: Соответствующий обработчик — onPositioningComplete.
Этот сигнал был добавлен в Qt 5.9.
Документация по методам
[since 5.9] forceLayout()
Column обычно позиционирует свои дочерние элементы один раз за кадр. Это означает, что внутри блоков сценариев возможно изменение дочерних элементов, но Column еще не был обновлен соответственно.
Этот метод заставляет Column немедленно отреагировать на все ожидающие изменения своих дочерних элементов.
Примечание: методы, как правило, должны вызываться после завершения компонента.
Этот метод был добавлен в Qt 5.9.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-column.html