Тип QML Animator
Является основой всех QML-аниматоров. Подробнее...
| Заявление об импорте: | import QtQuick 2.12 |
| С момента: | Qt 5.2 |
| Наследует: | |
| Наследуется: | OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator и YAnimator |
Свойства
- duration : int
-
easing
- easing.type : перечисление
- easing.amplitude : вещественное число
- easing.overshoot : вещественное число
- easing.period : вещественное число
- easing.bezierCurve : список<вещественное число>
- from : вещественное число
- target : QtQuick::Item
- to : вещественное число
Подробное описание
Типы аниматоров — это особый тип анимации, который работает непосредственно с графическим деревом сцены Qt Quick, а не с объектами QML и их свойствами, как это делают обычные типы анимации. Это выгодно, так как анимации на основе Animator могут анимировать графическое дерево сцены на потоке обработки отображения даже при блокировании потока пользовательского интерфейса.
Значение свойства QML будет обновлено после завершения анимации. Свойство не обновляется во время выполнения анимации.
Типы аниматоров можно использовать как и любой другой тип анимации.
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.type : перечисление
Указывает кривую плавного изменения, используемую для анимации.
Для указания кривой плавного изменения необходимо указать, по крайней мере, тип. Для некоторых кривых вы также можете указать амплитуду, период и/или перескок (подробнее после таблицы). Кривая плавного изменения по умолчанию — 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) сглаживания out: замедление до нулевой скорости. | |
Easing.InOutBack |
Кривая сглаживания для обратной (перескочивающая кубическая функция: (s+1)*t^3 - s*t^2) сглаживания in/out: ускорение до середины, затем замедление. | |
Easing.OutInBack |
Кривая сглаживания для обратной (перескочивающая кубическая сглаживания: (s+1)*t^3 - s*t^2) сглаживания out/in: замедление до середины, затем ускорение. | |
Easing.InBounce |
Кривая сглаживания для отскока (экспоненциально убывающий параболический отскок) функции: ускорение от нулевой скорости. | |
Easing.OutBounce |
Кривая сглаживания для отскока (экспоненциально убывающий параболический отскок) функции: замедление до нулевой скорости. | |
Easing.InOutBounce |
Кривая сглаживания для отскока (экспоненциально убывающий параболический отскок) функции сглаживания in/out: ускорение до середины, затем замедление. | |
Easing.OutInBounce |
Кривая сглаживания для отскока (экспоненциально убывающий параболический отскок) функции сглаживания out/in: замедление до середины, затем ускорение. | |
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 : вещественное
Это свойство содержит начальное значение для анимации.
Если Animator определён внутри Перехода или Поведения, это значение по умолчанию равно значению, определённому в начальном состоянии Перехода, или текущему значению свойства в момент запуска Поведения.
См. также Анимация и переходы в Qt Quick.
target : QtQuick::Item
Это свойство содержит целевой элемент аниматора.
Примечание: Цели аниматора должны быть типами, основанными на элементе Item.
to : вещественное
Это свойство содержит конечное значение для анимации.
Если Animator определён внутри Перехода или Поведения, это значение по умолчанию равно значению, определённому в конечном состоянии Перехода, или значению изменения свойства, которое вызвало Поведение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-animator.html