SmoothedAnimation QML Type
Permite que una propiedad siga suavemente un valor. Más...
| Import Statement: | import QtQuick |
| Inherits: |
Propiedades
- duration : int
- maximumEasingTime : int
- reversingMode : enumeration
- velocity : real
Descripción detallada
Una SmoothedAnimation anima el valor de una propiedad a un valor objetivo utilizando una curva de entrada/salida. Cuando el valor objetivo cambia, las curvas de flexión utilizadas para animar entre los valores objetivo antiguo y nuevo se empalman suavemente para crear un movimiento suave hacia el nuevo valor objetivo que mantiene la velocidad actual.
El siguiente ejemplo muestra un Rectangle siguiendo la posición de otro usando SmoothedAnimation. Los valores x y y del rectángulo verde están vinculados a los del rectángulo rojo. Cada vez que estos valores cambian, el rectángulo verde se anima suavemente a su nueva posición:
import QtQuick Rectangle { width: 800; height: 600 color: "blue" Rectangle { width: 60; height: 60 x: rect1.x - 5; y: rect1.y - 5 color: "green" Behavior on x { SmoothedAnimation { velocity: 200 } } Behavior on y { SmoothedAnimation { velocity: 200 } } } Rectangle { id: rect1 width: 50; height: 50 color: "red" } focus: true Keys.onRightPressed: rect1.x = rect1.x + 100 Keys.onLeftPressed: rect1.x = rect1.x - 100 Keys.onUpPressed: rect1.y = rect1.y - 100 Keys.onDownPressed: rect1.y = rect1.y + 100 }
Una SmoothedAnimation puede configurarse estableciendo el velocity en el que debe producirse la animación, o el duration que debe tomar la animación. Si se especifican tanto velocity como duration, se elegirá la animación más rápida para cada cambio en el valor objetivo.
Por ejemplo, animar de 0 a 800 tardará 4 segundos si se establece una velocidad de 200, tardará 8 segundos si se establece una duración de 8000, y tardará 4 segundos si se establece tanto una velocidad de 200 como una duración de 8000. La animación de 0 a 20000 tardará 10 segundos si se establece una velocidad de 200, tardará 8 segundos si se establece una duración de 8000 y tardará 8 segundos si se establece una velocidad de 200 y una duración de 8000.
La velocidad por defecto de SmoothedAnimation es de 200 unidades/segundo. Tenga en cuenta que si el rango del valor que se está animando es pequeño, la velocidad deberá ajustarse adecuadamente. Por ejemplo, la opacidad de un elemento oscila entre 0 - 1.0. Para permitir una animación suave en este rango la velocidad necesitará ser ajustada a un valor como 0.5 unidades/segundo. Una animación de 0 a 1.0 con una velocidad de 0.5 tardará 2000 ms en completarse.
Como cualquier otro tipo de animación, una SmoothedAnimation puede ser aplicada de varias maneras, incluyendo transiciones, comportamientos y fuentes de valores de propiedades. La documentación Animación y transiciones en Qt Quick muestra una variedad de métodos para crear animaciones.
Consulte también SpringAnimation, NumberAnimation, Animación y transiciones en Qt Quick, y Qt Quick Ejemplos - Animación.
Documentación de Propiedades
duration : int
Esta propiedad contiene la duración de la animación, en msegs, usada cuando se rastrea la fuente.
Establecerla a -1 (por defecto) desactiva el valor de duración.
Si el valor de velocidad y el valor de duración están ambos habilitados, entonces la animación utilizará el que proporcione la menor duración.
maximumEasingTime : int
Esta propiedad especifica el tiempo máximo, en mseg, que debe durar cualquier "nivelación" durante el seguimiento. Establecer esta propiedad hace que la velocidad se "nivele" después de un tiempo. Establecer un valor negativo revierte al modo normal de "easing" sobre toda la duración de la animación.
El valor por defecto es -1.
reversingMode : enumeration
Establece cómo se comporta SmoothedAnimation si se invierte la dirección de una animación.
Los valores posibles son:
| Constante | Descripción |
|---|---|
SmoothedAnimation.Eased | (por defecto) la animación desacelerará suavemente, y luego invertirá la dirección |
SmoothedAnimation.Immediate | la animación comenzará inmediatamente a acelerar en la dirección inversa, comenzando con una velocidad de 0 |
SmoothedAnimation.Sync | la propiedad se ajusta inmediatamente al valor objetivo |
velocity : real
Esta propiedad contiene la velocidad media permitida cuando se rastrea el valor 'to'.
La velocidad por defecto de SmoothedAnimation es de 200 unidades/segundo.
Establecerlo a -1 desactiva el valor de velocidad.
Si el valor de velocidad y el valor de duración están ambos habilitados, entonces la animación usará el que tenga menor duración.
© 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.