Spec-Zone.ru › Qt

Тип QML Animator

Является основой всех QML-аниматоров. Подробнее...

Заявление об импорте: import QtQuick
С версии: Qt 5.2
Наследует:

Animation

Наследуется:

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API