Spec-Zone.ru › Qt 5.13

Тип QML Column

Размещает своих потомков в столбец. Подробнее...

Заявление об импорте: import QtQuick 2.13
Наследует:

Item

  • Список всех членов, включая унаследованные члены

Свойства

  • add : Переход
  • bottomPadding : вещественное
  • leftPadding : вещественное
  • move : Переход
  • padding : вещественное
  • populate : Переход
  • rightPadding : вещественное
  • spacing : вещественное
  • topPadding : вещественное

Сигналы

  • positioningComplete()

Методы

  • forceLayout()

Подробное описание

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 зелёного Прямоугольника переключается. Когда он появляется и исчезает, синий Прямоугольник перемещается внутри Column, и переход move автоматически применяется к синему Прямоугольнику:

См. также Row, Grid, Flow, Positioner, ColumnLayout и Примеры Qt Quick — Позиционеры.

Документация по свойствам

padding : вещественное

Эти свойства содержат отступы вокруг содержимого.

Эта документация была добавлена в 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.

Документация по сигналам

positioningComplete()

Этот сигнал испускается, когда позиционирование завершено.

Соответствующий обработчик — onPositioningComplete.

Этот сигнал был добавлен в Qt 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-5.13/qml-qtquick-column.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API