SmoothedAnimation QML Type
Permet à une propriété de suivre une valeur en douceur. Plus d'informations...
| Import Statement: | import QtQuick |
| Inherits: |
Propriétés
- duration : int
- maximumEasingTime : int
- reversingMode : enumeration
- velocity : real
Description détaillée
Une SmoothedAnimation anime la valeur d'une propriété vers une valeur cible définie à l'aide d'une courbe d'assouplissement quadruple. Lorsque la valeur cible change, les courbes d'assouplissement utilisées pour animer entre l'ancienne et la nouvelle valeur cible sont reliées en douceur pour créer un mouvement fluide vers la nouvelle valeur cible qui maintient la vitesse actuelle.
L'exemple suivant montre un Rectangle qui suit la position d'un 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 doucement jusqu'à 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 la valeur velocity à laquelle l'animation doit se produire ou la valeur duration que l'animation doit prendre. Si les valeurs velocity et duration sont toutes deux spécifiées, c'est celle qui produit l'animation la plus rapide qui est choisie pour chaque changement de la valeur cible.
Par exemple, l'animation de 0 à 800 prendra 4 secondes si une vitesse de 200 est définie, 8 secondes si une durée de 8000 est définie, et 4 secondes si une vitesse de 200 et une durée de 8000 sont définies. L'animation de 0 à 20000 prendra 10 secondes si la vitesse est de 200, 8 secondes si la durée est de 8000 et 8 secondes si la vitesse est de 200 et la durée de 8000.
La vitesse par défaut de SmoothedAnimation est de 200 unités/seconde. Notez que si la plage de la valeur animée est petite, la vitesse devra être ajustée en conséquence. Par exemple, l'opacité d'un élément est comprise entre 0 et 1,0. Pour permettre une animation fluide dans cette plage, la vitesse devra être réglée sur une valeur telle que 0,5 unité/seconde. Une animation de 0 à 1,0 avec une vitesse de 0,5 prendra 2000 ms.
Comme tout autre type d'animation, une SmoothedAnimation peut être appliquée de différentes manières, notamment par le biais de transitions, de comportements et de sources de valeurs de propriétés. La documentation Animation and Transitions in Qt Quick présente diverses méthodes de création d'animations.
Voir également SpringAnimation, NumberAnimation, Animation et transitions dans Qt Quick, et Qt Quick Exemples - Animation.
Documentation sur les propriétés
duration : int
Cette propriété contient la durée de l'animation, en msecs, utilisée lors du suivi de la source.
La valeur -1 (valeur par défaut) désactive la valeur de la duré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é spécifie le temps maximum, en msecs, que doit durer tout "relâchement" pendant le suivi. La définition de cette propriété permet de "stabiliser" la vitesse après un certain temps. Une valeur négative permet de revenir au mode normal d'assouplissement sur toute la durée de l'animation.
La valeur par défaut est -1.
reversingMode : enumeration
Définit le comportement de SmoothedAnimation en cas d'inversion de la direction d'une animation.
Les valeurs possibles sont les suivantes :
| Constante | Description |
|---|---|
SmoothedAnimation.Eased | (par défaut) l'animation décélère doucement, puis s'inverse. |
SmoothedAnimation.Immediate | l'animation commence immédiatement à accélérer dans le sens inverse, à partir d'une vitesse de 0 |
SmoothedAnimation.Sync | la propriété est immédiatement réglée sur la valeur cible |
velocity : real
Cette propriété définit 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.
La valeur -1 désactive la valeur de vélocité.
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.