Spec-Zone.ru › Qt 5.14

Тип QML Animator

Является основой всех QML-аниматоров. Подробнее...

Заявление об импорте: import QtQuick 2.14
С тех пор: Qt 5.2
Наследует от:

Animation

Наследуется:

OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator и YAnimator

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

Свойства

  • duration : int
  • easing
    • easing.amplitude : real
    • easing.bezierCurve : list<real>
    • easing.overshoot : real
    • easing.period : real
    • easing.type : перечисление
  • from : real
  • target : QtQuick::Item
  • to : real

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

Типы аниматоров — это особый тип анимации, который работает непосредственно с графическим деревом сцены Qt Quick, а не с объектами QML и их свойствами, как это делают обычные типы анимации. Это дает преимущество, что анимации на основе Animator могут анимировать на потоке рендеринга графического дерева сцены, даже если поток пользовательского интерфейса заблокирован.

Значение свойства QML будет обновлено после завершения анимации. Свойство не обновляется во время выполнения анимации.

Типы Animator можно использовать так же, как и любой другой тип Animation.

Rectangle {
    id: mixBox
    width: 50
    height: 50
    ParallelAnimation {
        ColorAnimation {
            target: mixBox
            property: "color"
            from: "forestgreen"
            to: "lightsteelblue";
            duration: 1000
        }
        ScaleAnimator {
            target: mixBox
            from: 2
            to: 1
            duration: 1000
        }
        running: true
    }
}

Если все под-анимации ParallelAnimation и SequentialAnimation являются типами Animator, ParallelAnimation и SequentialAnimation также будут обрабатываться как Animator и выполняться в потоке рендеринга графического дерева сцены, когда это возможно.

Типы Animator можно использовать для анимации во время переходов, но они не поддерживают свойство reversible.

Тип Animator напрямую нельзя использовать в файле QML. Он существует для предоставления набора общих свойств и методов, доступных во всех других типах аниматоров, которые наследуют от него. Попытка использовать тип Animator напрямую приведет к ошибке.

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

duration : int

Это свойство содержит длительность анимации в миллисекундах.

Значение по умолчанию — 250.

easing.amplitude : real

Указывает кривую сглаживания, используемую для анимации

Для указания кривой сглаживания необходимо указать по крайней мере тип. Для некоторых кривых вы также можете указать амплитуду, период и/или перехват (более подробная информация приводится после таблицы). Кривая сглаживания по умолчанию — Easing.Linear.

PropertyAnimation { properties: "y";
                    easing.type: Easing.InOutElastic;
                    easing.amplitude: 2.0;
                    easing.period: 1.5 }

Доступные типы:

Easing.Linear Кривая смягчения для линейной (t) функции: скорость постоянна.
Easing.InQuad Кривая смягчения для квадратичной (t^2) функции: ускорение от нулевой скорости.
Easing.OutQuad Кривая смягчения для квадратичной (t^2) функции: замедление до нулевой скорости.
Easing.InOutQuad Кривая смягчения для квадратичной (t^2) функции: ускорение до середины, затем замедление.
Easing.OutInQuad Кривая смягчения для квадратичной (t^2) функции: замедление до середины, затем ускорение.
Easing.InCubic Кривая смягчения для кубической (t^3) функции: ускорение от нулевой скорости.
Easing.OutCubic Кривая смягчения для кубической (t^3) функции: замедление до нулевой скорости.
Easing.InOutCubic Кривая смягчения для кубической (t^3) функции: ускорение до середины, затем замедление.
Easing.OutInCubic Кривая смягчения для кубической (t^3) функции: замедление до середины, затем ускорение.
Easing.InQuart Кривая смягчения для четвёртой степени (t^4) функции: ускорение от нулевой скорости.
Easing.OutQuart Кривая смягчения для четвёртой степени (t^4) функции: замедление до нулевой скорости.
Easing.InOutQuart Кривая смягчения для четвёртой степени (t^4) функции: ускорение до середины, затем замедление.
Easing.OutInQuart Кривая смягчения для четвёртой степени (t^4) функции: замедление до середины, затем ускорение.
Easing.InQuint Кривая смягчения для пятой степени (t^5) функции: ускорение от нулевой скорости.
Easing.OutQuint Кривая смягчения для пятой степени (t^5) функции: замедление до нулевой скорости.
Easing.InOutQuint Кривая смягчения для пятой степени (t^5) функции: ускорение до середины, затем замедление.
Easing.OutInQuint Кривая смягчения для пятой степени (t^5) функции: замедление до середины, затем ускорение.
Easing.InSine Кривая смягчения для синусоидальной (sin(t)) функции: ускорение от нулевой скорости.
Easing.OutSine Кривая смягчения для синусоидальной (sin(t)) функции: замедление до нулевой скорости.
Easing.InOutSine Кривая смягчения для синусоидальной (sin(t)) функции: ускорение до середины, затем замедление.
Easing.OutInSine Кривая смягчения для синусоидальной (sin(t)) функции: замедление до середины, затем ускорение.
Easing.InExpo Кривая смягчения для экспоненциальной (2^t) функции: ускорение от нулевой скорости.
Easing.OutExpo Кривая смягчения для экспоненциальной (2^t) функции: замедление до нулевой скорости.
Easing.InOutExpo Кривая смягчения для экспоненциальной (2^t) функции: ускорение до середины, затем замедление.
Easing.OutInExpo Кривая смягчения для экспоненциальной (2^t) функции: замедление до середины, затем ускорение.
Easing.InCirc Кривая смягчения для круговой (sqrt(1-t^2)) функции: ускорение от нулевой скорости.
Easing.OutCirc Кривая смягчения для круговой (sqrt(1-t^2)) функции: замедление до нулевой скорости.
Easing.InOutCirc Кривая смягчения для круговой (sqrt(1-t^2)) функции: ускорение до середины, затем замедление.
Easing.OutInCirc Кривая смягчения для круговой (sqrt(1-t^2)) функции: замедление до середины, затем ускорение.
Easing.InElastic Кривая смягчения для упругой (экспоненциально убывающая синусоидальная) функции: ускорение от нулевой скорости. Пиковую амплитуду можно задать параметром amplitude, а период затухания — параметром period.
Easing.OutElastic Кривая смягчения для упругой (экспоненциально убывающая синусоидальная) функции: замедление до нулевой скорости. Пиковую амплитуду можно задать параметром amplitude, а период затухания — параметром period.
Easing.InOutElastic Кривая смягчения для упругой (экспоненциально убывающая синусоидальная) функции: ускорение до середины, затем замедление.
Easing.OutInElastic Кривая смягчения для упругой (экспоненциально убывающая синусоидальная) функции: замедление до середины, затем ускорение.
Easing.InBack Кривая смягчения для обратной (пересекающая кубическая функция: (s+1)*t^3 - s*t^2) смягчения: ускорение от нулевой скорости.
Easing.OutBack Кривая смягчения для обратной (пересекающая кубическая функция: (s+1)*t^3 - s*t^2) смягчения: замедление до нулевой скорости.
Easing.InOutBack Кривая смягчения для обратной (пересекающая кубическая функция: (s+1)*t^3 - s*t^2) смягчения: ускорение до середины, затем замедление.
Easing.OutInBack Кривая смягчения для обратной (пересекающая кубическая функция: (s+1)*t^3 - s*t^2) смягчения: замедление до середины, затем ускорение.
Easing.InBounce Кривая смягчения для отскока (экспоненциально убывающий параболический отскок) функции: ускорение от нулевой скорости.
Easing.OutBounce Кривая смягчения для отскока (экспоненциально убывающий параболический отскок) функции: замедление до нулевой скорости.
Easing.InOutBounce Кривая смягчения для отскока (экспоненциально убывающий параболический отскок) функции: ускорение до середины, затем замедление.
Easing.OutInBounce Кривая смягчения для отскока (экспоненциально убывающий параболический отскок) функции: замедление до середины, затем ускорение.
Easing.Bezier Пользовательская кривая смягчения, определяемая свойством easing.bezierCurve.

easing.amplitude применимо только для кривых отскока и упругих кривых (кривые типа Easing.InBounce, Easing.OutBounce, Easing.InOutBounce, Easing.OutInBounce, Easing.InElastic, Easing.OutElastic, Easing.InOutElastic или Easing.OutInElastic).

easing.overshoot применимо только если easing.type равно Easing.InBack, Easing.OutBack, Easing.InOutBack или Easing.OutInBack.

easing.period применимо только если easing.type равно Easing.InElastic, Easing.OutElastic, Easing.InOutElastic или Easing.OutInElastic.

easing.bezierCurve применимо только если easing.type равно Easing.Bezier. Это свойство представляет собой список<вещественный>, содержащий группы из трёх точек, определяющих кривую от 0,0 до 1,1 — контрольные точки 1 и 2, конечная точка: [cx1, cy1, cx2, cy2, endx, endy, ...]. Последняя точка должна быть 1,1.

См. Кривые смягчения для демонстрации различных настроек смягчения.

from : вещественный

Это свойство содержит начальное значение для анимации.

Если Аниматор определён внутри Перехода или Поведения, это значение по умолчанию равно значению, определённому в начальном состоянии Перехода, или текущему значению свойства в момент запуска Поведения.

См. также Анимация и переходы в Qt Quick.

target : QtQuick::Item

Это свойство содержит целевой элемент аниматора.

Примечание: Целевые элементы аниматора должны быть типами на основе Item.

to : вещественный

Это свойство содержит конечное значение для анимации.

Если Аниматор определён внутри Перехода или Поведения, это значение по умолчанию равно значению, определённому в конечном состоянии Перехода, или значению изменения свойства, которое вызвало Поведение.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtquick-animator.html

Spec-Zone.ru

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