Тип QML Column
Размещает своих потомков в столбце. Подробнее...
| Оператор импорта: | import QtQuick |
| Наследует: |
Свойства
- add : Переход
- bottomPadding : real
- leftPadding : real
- move : Переход
- padding : real
- populate : Переход
- rightPadding : real
- spacing : real
- topPadding : real
Сигналы
Методы
Подробное описание
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.
Обратите внимание, что элементы в Column могут использовать свойство Positioner для получения дополнительной информации о своём положении внутри Column.
Дополнительную информацию об использовании 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 зеленого прямоугольника Rectangle переключается. При его появлении и исчезновении синий прямоугольник Rectangle перемещается внутри Column, и переход move автоматически применяется к синему прямоугольнику Rectangle:
См. также Row, Grid, Flow, Positioner, ColumnLayout и Примеры Qt Quick — Позиционеры.
Документация по свойствам
[с версии 5.6] bottomPadding : real
Эти свойства содержат отступы вокруг содержимого.
Это свойство QML было введено в Qt 5.6.
add : Transition
Это свойство содержит переход, который будет выполнен для элементов, добавляемых в этот позиционер. Для позиционера это относится к:
- Элементам, созданным или повторно присоединённым в качестве потомков позиционера после создания самого позиционера
- Дочерним элементам, меняющим свойство Item::visible с false на true и, следовательно, теперь видимым
Переход может использовать свойство ViewTransition для доступа к дополнительным данным об добавляемом элементе. Смотрите документацию по ViewTransition для получения более подробной информации и примеров использования этих переходов.
Примечание: Этот переход не применяется к элементам, которые уже являются частью позиционера в момент его создания. В этом случае применяется переход populate.
См. также populate, ViewTransition и Примеры Qt Quick — Позиционеры.
move : Transition
Это свойство содержит переход, который будет выполнен для элементов, перемещённых внутри позиционера. Для позиционера это относится к:
- Дочерним элементам, которые перемещаются, когда они смещаются из-за добавления, удаления или перестановки других элементов в позиционере
- Дочерним элементам, которые перемещаются из-за изменения размера других элементов в позиционере
Переход может использовать свойство ViewTransition для доступа к дополнительным данным об элементе, который перемещается. Однако обратите внимание, что для этого перехода перемещения списки ViewTransition.targetIndexes и ViewTransition.targetItems устанавливаются только тогда, когда этот переход активируется добавлением других элементов в позиционер; в других случаях эти списки будут пустыми. Смотрите документацию по ViewTransition для получения более подробной информации и примеров использования этих переходов.
См. также add, populate, ViewTransition и Примеры Qt Quick — Позиционеры.
populate : Transition
Это свойство содержит переход, который будет выполнен для элементов, которые являются частью этого позиционера в момент его создания. Переход выполняется при первом создании позиционера.
Переход может использовать свойство ViewTransition для доступа к дополнительным данным об добавляемом элементе. Смотрите документацию по ViewTransition для получения более подробной информации и примеров использования этих переходов.
См. также add, ViewTransition и Примеры Qt Quick — Позиционеры.
spacing : real
Отступ — это количество пикселей, оставленных пустым между смежными элементами. По умолчанию отступ равен 0.
См. также Grid::spacing.
Документация по сигналам
[since 5.9] positioningComplete()
Этот сигнал испускается при завершении позиционирования.
Примечание: Соответствующий обработчик — onPositioningComplete.
Этот сигнал был введён в Qt 5.9.
Документация по методам
[since 5.9] forceLayout()
Column обычно позиционирует своих потомков один раз за кадр. Это означает, что внутри блоков скрипта возможны изменения в подчинённых элементах, но Column ещё не был обновлён соответствующим образом.
Этот метод заставляет Column немедленно отреагировать на любые незавершенные изменения своих потомков.
Примечание: методы, как правило, должны вызываться после завершения Component.
Этот метод был введён в Qt 5.9.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-column.html