Тип QML Animator
Основа всех анимирователей QML. Подробнее...
| Заявление импорта: | import QtQuick 2.13 |
| С момента: | 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 также будут обрабатываться как анимирователи и выполняться в потоке отрисовки графического представления сцены, когда это возможно.
Типы анимирователей можно использовать для анимации во время переходов, но они не поддерживают свойство обратимое.
Тип 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 : real
Это свойство содержит начальное значение для анимации.
Если Аниматор определен в Переходе или Поведении, это значение по умолчанию соответствует значению, определенному в начальном состоянии Перехода, или текущему значению свойства в момент запуска Поведения.
См. также Анимация и переходы в Qt Quick.
target : QtQuick::Item
Это свойство содержит целевой элемент аниматора.
Примечание: Целевые элементы аниматора должны быть типами на основе Item.
to : real
Это свойство содержит конечное значение для анимации.
Если Аниматор определен в Переходе или Поведении, это значение по умолчанию соответствует значению, определенному в конечном состоянии Перехода, или значению изменения свойства, которое вызвало Поведение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-animator.html