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