Spec-Zone.ru › Qt 5.9

Тип QML Animator

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

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

Animation

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

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

Spec-Zone.ru

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