Тип QML Animator
Является основой всех QML-аниматоров. Подробнее...
| Заявление об импорте: | import QtQuick 2.5 |
| С момента: | 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 будет обновлено после завершения анимации. Свойство не обновляется во время выполнения анимации.
Типы Animator можно использовать так же, как и любой другой тип анимации.
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 можно использовать для анимации во время переходов, но они не поддерживают свойство обратимость.
Тип 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) кривой: замедление до нулевой скорости. | |
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/archives/qt-5.6/qml-qtquick-animator.html