Sur cette page

SpringAnimation QML Type

Permet à une propriété de suivre une valeur dans un mouvement semblable à celui d'un ressort. Plus d'informations...

Import Statement: import QtQuick
Inherits:

NumberAnimation

Propriétés

Description détaillée

SpringAnimation imite le comportement oscillatoire d'un ressort, avec la constante spring appropriée pour contrôler l'accélération et la constante damping pour contrôler la vitesse à laquelle l'effet s'estompe.

Vous pouvez également limiter la valeur maximale de velocity de l'animation.

L'animation Rectangle suivante se déplace à la position de la souris à l'aide d'une SpringAnimation lorsque la souris est cliquée. L'utilisation de Behavior sur les valeurs x et y indique que chaque fois que ces valeurs sont modifiées, une animation SpringAnimation doit être appliquée.

import QtQuick

Item {
    width: 300; height: 300

    Rectangle {
        id: rect
        width: 50; height: 50
        color: "red"

        Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } }
        Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } }
    }

    MouseArea {
        anchors.fill: parent
        onClicked: (mouse)=> {
            rect.x = mouse.x - rect.width/2
            rect.y = mouse.y - rect.height/2
        }
    }
}

Comme tout autre type d'animation, une SpringAnimation peut être appliquée de plusieurs façons, y compris par des transitions, des comportements et des 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 SmoothedAnimation, Animation et transitions dans Qt Quick, Qt Quick Exemples - Animation, et Qt Quick Démo - Horloges.

Documentation sur les propriétés

damping : real

Cette propriété contient la valeur d'amortissement du ressort.

Cette valeur décrit la vitesse à laquelle le mouvement de type ressort s'immobilise. La valeur par défaut est 0.

La plage de valeurs utiles est comprise entre 0 et 1,0. Plus la valeur est faible, plus l'immobilisation est rapide.

epsilon : real

Cette propriété contient l'epsilon du ressort.

L'epsilon est le taux et la quantité de changement de la valeur qui est suffisamment proche de 0 pour être considéré comme égal à zéro. Cela dépend de l'utilisation de la valeur. Pour la position des pixels, 0,25 suffit. Pour l'échelle, 0,005 suffit.

La valeur par défaut est 0,01. L'ajustement de cette valeur peut apporter de légères améliorations en termes de performances.

mass : real

Cette propriété contient la "masse" du bien déplacé.

La valeur est de 1,0 par défaut.

Une masse plus importante entraîne un mouvement plus lent et un mouvement de ressort plus important lorsque l'objet s'immobilise.

modulus : real

Cette propriété contient la valeur du module. La valeur par défaut est 0.

La définition d'une valeur modulus oblige la valeur cible à "s'enrouler" autour du module. Par exemple, si le module est fixé à 360, une valeur de 370 sera ramenée à 10.

spring : real

Cette propriété décrit l'intensité avec laquelle la cible est tirée vers la source. La valeur par défaut est 0 (c'est-à-dire que le mouvement de type ressort est désactivé).

Les valeurs utiles sont comprises entre 0 et 5,0.

Lorsque cette propriété est définie et que la valeur de velocity est supérieure à 0, velocity limite la vitesse maximale.

velocity : real

Cette propriété définit la vitesse maximale autorisée lors du suivi de la source.

La valeur par défaut est 0 (pas de vitesse maximale).

© 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.