Animator QML Type
Es la base de todos los animadores QML. Más...
| Import Statement: | import QtQuick |
| Inherits: | |
| Inherited By: | OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator, and YAnimator |
Propiedades
- duration : int
- easing
- easing.amplitude : real
- easing.bezierCurve : list<real>
- easing.overshoot : real
- easing.period : real
- easing.type : enumeration
- from : real
- target : QtQuick::Item
- to : real
Descripción detallada
Los tipos Animator son un tipo especial de animación que operan directamente sobre el gráfico de escena de Qt Quick, en lugar de sobre los objetos QML y sus propiedades, como hacen los tipos Animation normales. Esto tiene la ventaja de que las animaciones basadas en Animator pueden animar en el hilo de renderizado del gráfico de escena incluso cuando el hilo de UI está bloqueado.
El valor de la propiedad QML será actualizado después de que la animación haya terminado. La propiedad no se actualiza mientras la animación se está ejecutando.
Los tipos Animator pueden ser utilizados como cualquier otro tipo 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 } }
Si todas las sub-animaciones de ParallelAnimation y SequentialAnimation son tipos Animator, ParallelAnimation y SequentialAnimation también serán tratadas como Animator y serán ejecutadas en el thread de renderizado del gráfico de escena cuando sea posible.
Los tipos Animator pueden ser usados para animaciones durante transiciones, pero no soportan la propiedad reversible.
El tipo Animator no puede utilizarse directamente en un archivo QML. Existe para proporcionar un conjunto de propiedades y métodos comunes, disponibles en todos los demás tipos de animador que heredan de él. Si se intenta utilizar el tipo Animator directamente, se producirá un error.
Nota: Los tipos Animator no tienen ningún beneficio cuando se utiliza un bucle de renderizado no subprocesado.
Nota: Se recomienda que las aplicaciones consideren diseños basados en principios multihilo y asíncronos, en lugar de confiar en Animators para mostrar contenido animado mientras se realiza un trabajo costoso y bloqueante en el hilo principal (GUI). En lugar de operaciones largas y bloqueantes, prefiera utilizar WorkerScript y asynchronous image loading en QML, e hilos de trabajo, algoritmos paralelos, Qt Concurrenty coroutines en C++, manteniendo así la respuesta de toda la aplicación y la interfaz de usuario en todo momento.
Documentación de propiedades
duration : int
Esta propiedad contiene la duración de la animación en milisegundos.
El valor por defecto es 250.
easing group
easing.amplitude : real
easing.bezierCurve : list<real>
easing.overshoot : real
easing.period : real
easing.type : enumeration
Especifica la curva de flexión utilizada para la animación.
Para especificar una curva de servidumbre es necesario especificar al menos el tipo. Para algunas curvas también se puede especificar la amplitud, el periodo y/o el rebasamiento (más detalles después de la tabla). La curva por defecto es Easing.Linear.
PropertyAnimation { properties: "y"; easing.type: Easing.InOutElastic; easing.amplitude: 2.0; easing.period: 1.5 }
Los tipos disponibles son:
Easing.Linear | Curva de relajación para una función lineal (t): la velocidad es constante. | ![]() |
Easing.InQuad | Curva de relajación para una función cuadrática (t^2): aceleración desde velocidad cero. | ![]() |
Easing.OutQuad | Curva de relajación para una función cuadrática (t^2): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutQuad | Curva de relajación de una función cuadrática (t^2): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInQuad | Curva de relajación de una función cuadrática (t^2): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InCubic | Curva de relajación de una función cúbica (t^3): aceleración a partir de la velocidad cero. | ![]() |
Easing.OutCubic | Curva de relajación de una función cúbica (t^3): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutCubic | Curva de relajación de una función cúbica (t^3): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInCubic | Curva de relajación de una función cúbica (t^3): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InQuart | Curva de relajación de una función cuártica (t^4): aceleración a partir de la velocidad cero. | ![]() |
Easing.OutQuart | Curva de relajación de una función cuártica (t^4): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutQuart | Curva decreciente de una función cuádruple (t^4): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInQuart | Curva decreciente de una función cuártica (t^4): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InQuint | Curva de relajación de una función quíntica (t^5): aceleración a partir de la velocidad cero. | ![]() |
Easing.OutQuint | Curva de relajación de una función quíntica (t^5): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutQuint | Curva de progresión de una función quíntica (t^5): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInQuint | Curva de progresión de una función quíntica (t^5): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InSine | Curva de relajación de una función sinusoidal (sin(t)): aceleración a partir de velocidad cero. | ![]() |
Easing.OutSine | Curva de relajación de una función sinusoidal (sin(t)): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutSine | Curva de relajación de una función sinusoidal (sin(t)): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInSine | Curva de relajación de una función sinusoidal (sin(t)): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InExpo | Curva de relajación de una función exponencial (2^t): aceleración a partir de la velocidad cero. | ![]() |
Easing.OutExpo | Curva de relajación de una función exponencial (2^t): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutExpo | Curva de relajación de una función exponencial (2^t): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInExpo | Curva de relajación de una función exponencial (2^t): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InCirc | Curva de relajación de una función circular (sqrt(1-t^2)): aceleración desde velocidad cero. | ![]() |
Easing.OutCirc | Curva de relajación de una función circular (sqrt(1-t^2)): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutCirc | Curva de relajación de una función circular (sqrt(1-t^2)): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInCirc | Curva de relajación de una función circular (sqrt(1-t^2)): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InElastic | Curva de relajación para una función elástica (onda sinusoidal exponencialmente decreciente): aceleración desde velocidad cero. La amplitud del pico puede ajustarse con el parámetro amplitud, y el periodo de decaimiento con el parámetro periodo. | ![]() |
Easing.OutElastic | Curva de relajación para una función elástica (onda sinusoidal exponencialmente decreciente): desaceleración a velocidad cero. La amplitud del pico puede ajustarse con el parámetro amplitud y el periodo de decaimiento con el parámetro periodo. | ![]() |
Easing.InOutElastic | Curva de atenuación de una función elástica (onda sinusoidal exponencialmente decreciente): aceleración hasta la mitad y, a continuación, deceleración. | ![]() |
Easing.OutInElastic | Curva de relajación de una función elástica (senoidal exponencialmente decreciente): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.InBack | Curva de relajación de una función cúbica (s+1)*t^3 - s*t^2) de retroceso: aceleración a partir de la velocidad cero. | ![]() |
Easing.OutBack | Curva de relajación para una espalda (función cúbica de sobreimpulso: (s+1)*t^3 - s*t^2) relajación de salida: desaceleración a velocidad cero. | ![]() |
Easing.InOutBack | Curva de relajación para una espalda (función cúbica de rebasamiento: (s+1)*t^3 - s*t^2) aceleración/desaceleración: aceleración hasta la mitad, luego desaceleración. | ![]() |
Easing.OutInBack | Curva de relajación para un rebote (función cúbica de relajación: (s+1)*t^3 - s*t^2) relajación de entrada/salida: desaceleración hasta la mitad, luego aceleración. | ![]() |
Easing.InBounce | Curva de relajación para una función de rebote (rebote parabólico exponencialmente decreciente): aceleración desde velocidad cero. | ![]() |
Easing.OutBounce | Curva de relajación para una función de rebote (rebote parabólico exponencialmente decreciente): desaceleración hasta velocidad cero. | ![]() |
Easing.InOutBounce | Curva de relajación para una función de rebote (rebote parabólico exponencialmente decreciente): aceleración hasta la mitad, luego desaceleración. | ![]() |
Easing.OutInBounce | Curva de relajación para una función de rebote (rebote parabólico con decaimiento exponencial): desaceleración hasta la mitad y, a continuación, aceleración. | ![]() |
Easing.BezierSpline | Curva de relajación personalizada definida por la propiedad easing.bezierCurve. |
easing.amplitude sólo es aplicable para curvas de rebote y elásticas (curvas de tipo Easing.InBounce, Easing.OutBounce, Easing.InOutBounce, Easing.OutInBounce, Easing.InElastic, Easing.OutElastic, Easing.InOutElastic o Easing.OutInElastic).
easing.overshoot sólo es aplicable si easing.type es Easing.InBack, Easing.OutBack, Easing.InOutBack o Easing.OutInBack.
easing.period sólo es aplicable si easing.type es: Easing.InElastic, Easing.OutElastic, Easing.InOutElastic o Easing.OutInElastic.
easing.bezierCurve sólo es aplicable si easing.type es: Easing.BezierSpline. Esta propiedad es una lista<real> que contiene grupos de tres puntos que definen una curva de 0,0 a 1,1 - control1, control2, punto final: [cx1, cy1, cx2, cy2, endx, endy, ...]. El último punto debe ser 1,1.
Consulte las curvas de suavizado para ver una demostración de los distintos ajustes de suavizado.
from : real
Esta propiedad contiene el valor inicial de la animación.
Si el Animator está definido dentro de un Transition o Behavior, este valor es por defecto el valor definido en el estado de inicio del Transition, o el valor actual de la propiedad en el momento en que el Behavior es disparado.
Ver también Animación y Transiciones en Qt Quick.
target : QtQuick::Item
Esta propiedad contiene el ítem objetivo del animador.
Nota: Los objetivos del animador deben ser de tipo Item.
to : real
Esta propiedad contiene el valor final de la animación.
Si el Animator está definido dentro de un Transition o Behavior, este valor por defecto es el valor definido en el estado final del Transition, o el valor del cambio de propiedad que desencadenó el Behavior.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.








































