SmoothedAnimation QML Type
Permet à une propriété de suivre en continu une valeur. En savoir plus…
| Import Statement: | import QtQuick |
| Inherits: |
Propriétés
- duration : int
- maximumEasingTime : int
- reversingMode : enumeration
- velocity : real
Description détaillée
Une animation SmoothedAnimation anime la valeur d'une propriété vers une valeur cible définie à l'aide d'une courbe d'accélération/décélération de type « ease in/out quad ». Lorsque la valeur cible change, les courbes d'accélération/décélération utilisées pour animer la transition entre l'ancienne et la nouvelle valeur cible sont raccordées en douceur afin de créer un mouvement fluide vers la nouvelle valeur cible tout en conservant la vitesse actuelle.
L'exemple suivant montre une instance d'Rectangle qui suit la position d'une autre à l'aide de SmoothedAnimation. Les valeurs « x » et « y » du rectangle vert sont liées à celles du rectangle rouge. Chaque fois que ces valeurs changent, le rectangle vert s'anime en douceur vers sa nouvelle position :
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
}Une SmoothedAnimation peut être configurée en définissant l’ velocity à laquelle l’animation doit se produire, ou l’ duration que l’animation doit suivre. Si la velocity et la duration sont toutes deux spécifiées, celle qui donne lieu à l’animation la plus rapide est choisie pour chaque changement de la valeur cible.
Par exemple, une animation de 0 à 800 prendra 4 secondes si une vitesse de 200 est définie, 8 secondes si une durée de 8 000 est définie, et 4 secondes si une vitesse de 200 et une durée de 8 000 sont toutes deux définies. Une animation de 0 à 20 000 prendra 10 secondes si une vitesse de 200 est définie, 8 secondes si une durée de 8 000 est définie, et 8 secondes si une vitesse de 200 et une durée de 8 000 sont toutes deux définies.
La vitesse par défaut de SmoothedAnimation est de 200 unités/seconde. Notez que si la plage de la valeur animée est réduite, la vitesse devra être ajustée en conséquence. Par exemple, l’opacité d’un élément varie entre 0 et 1,0. Pour obtenir une animation fluide dans cette plage, la vitesse devra être définie sur une valeur telle que 0,5 unité/seconde. Une animation de 0 à 1,0 avec une vitesse de 0,5 prendra 2 000 ms.
Comme tout autre type d’animation, une SmoothedAnimation peut être appliquée de différentes manières, notamment via des transitions, des comportements et des sources de valeurs de propriétés. La documentation « Animation et transitions » disponible à l’adresse Qt Quick présente diverses méthodes pour créer des animations.
Voir également SpringAnimation, NumberAnimation, « Animation et transitions » sur Qt Quick, ainsi que Qt Quick Exemples - Animation.
Documentation sur les propriétés
duration : int
Cette propriété définit la durée de l'animation, en millisecondes, utilisée lors du suivi de la source.
Si vous définissez cette valeur sur -1 (valeur par défaut), la durée est désactivée.
Si la valeur de vitesse et la valeur de durée sont toutes deux activées, l'animation utilisera celle qui donne la durée la plus courte.
maximumEasingTime : int
Cette propriété définit la durée maximale, en millisecondes, que doivent prendre les « accélérations/décélérations » pendant le suivi. La définition de cette propriété entraîne une « stabilisation » progressive de la vitesse au fil du temps. La définition d'une valeur négative rétablit le mode normal d'accélération/décélération sur toute la durée de l'animation.
La valeur par défaut est -1.
reversingMode : enumeration
Définit le comportement de l'SmoothedAnimation e lorsqu'une direction d'animation est inversée.
Les valeurs possibles sont :
| Constante | Description |
|---|---|
SmoothedAnimation.Eased | (par défaut) l'animation décélère en douceur, puis inverse sa direction |
SmoothedAnimation.Immediate | l'animation commencera immédiatement à accélérer dans la direction opposée, en partant d'une vitesse de 0 |
SmoothedAnimation.Sync | la propriété est immédiatement définie sur la valeur cible |
velocity : real
Cette propriété contient la vitesse moyenne autorisée lors du suivi de la valeur « to ».
La vitesse par défaut de « SmoothedAnimation » est de 200 unités/seconde.
Si vous définissez cette valeur sur -1, la valeur de vitesse est désactivée.
Si la valeur de vitesse et la valeur de durée sont toutes deux activées, l'animation utilisera celle qui donne la durée la plus courte.
© 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.