Тип QML Animator
Является основой всех аниматоров QML. Подробнее...
| Заявление об импорте: | import QtQuick 2.7 |
| С момента: | 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 и их свойствами, как это делают обычные типы анимации. Это дает преимущество, что анимации, основанные на аниматорах, могут анимировать на потоке отрисовки графического представления сцены даже при блокировке потока пользовательского интерфейса.
Значение свойства 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 являются типами аниматоров, ParallelAnimation и SequentialAnimation также будут обрабатываться как аниматоры и выполняться в потоке отрисовки графического представления сцены, когда это возможно.
Типы аниматоров могут использоваться для анимации во время переходов, но они не поддерживают свойство 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) исходящей: замедление до нулевой скорости. | |
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.9/qml-qtquick-animator.html