Тип QML Animator
Является основой всех анимируемых компонентов QML. Подробнее...
| Заявление об импорте: | import QtQuick 2.1 |
| С момента: | Qt 5.2 |
| Наследует: | |
| Наследуется от: | 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 и их свойствами, как это делают обычные анимации типа Animation. Это даёт преимущество, позволяя анимациям на основе 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.BezierSpline |
Пользовательская кривая сглаживания, определяемая свойством 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.BezierSpline. Это свойство представляет собой список<вещественный>, содержащий группы из трёх точек, определяющих кривую от 0,0 до 1,1 — контрольная точка 1, контрольная точка 2, конечная точка: [cx1, cy1, cx2, cy2, endx, endy, ...]. Последняя точка должна быть 1,1.
См. Кривые сглаживания для демонстрации различных настроек сглаживания.
from : вещественный
Это свойство содержит начальное значение для анимации.
Если Аниматор определён внутри Перехода или Поведения, это значение по умолчанию соответствует значению, определённому в начальном состоянии Перехода, или текущему значению свойства в момент срабатывания Поведения.
См. также Анимация и переходы в Qt Quick.
target : QtQuick::Элемент
Это свойство содержит целевой элемент аниматора.
Примечание: Целевые элементы аниматора должны быть типами на основе Элемента.
to : вещественный
Это свойство содержит конечное значение для анимации.
Если Аниматор определён внутри Перехода или Поведения, это значение по умолчанию соответствует значению, определённому в конечном состоянии Перехода, или значению изменения свойства, которое вызвало срабатывание Поведения.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick-animator.html