Sur cette page

SpringAnimation QML Type

Permet à une propriété de suivre une valeur selon un mouvement de type ressort. En savoir plus…

Import Statement: import QtQuick
Inherits:

NumberAnimation

Propriétés

Description détaillée

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

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

L'Rectangle suivante se déplace vers la position de la souris à l'aide d'une SpringAnimation lorsque l'on clique avec la souris. L'utilisation de l'Behavior sur les valeurs x et y indique que chaque fois que ces valeurs sont modifiées, une 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 différentes manières, notamment via des transitions, des comportements et des sources de valeurs de propriété. La documentation « Animation et transitions » disponible à l’adresse Qt Quick présente diverses méthodes de création d’animations.

Voir également SmoothedAnimation, « Animation et transitions » sur Qt Quick, « Exemples d’Qt Quick: Animation » et « Démonstration d’Qt Quick: Horloges ».

Documentation sur les propriétés

damping : real

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

Cette valeur décrit la rapidité avec laquelle le mouvement de type ressort s'arrête. La valeur par défaut est 0.

La plage de valeurs utile est comprise entre 0 et 1,0. Plus la valeur est faible, plus le mouvement s'arrête rapidement.

epsilon : real

Cette propriété contient la valeur epsilon du ressort.

L'epsilon correspond au taux et à l'amplitude de variation d'une valeur suffisamment proche de 0 pour être considérée comme nulle. Cela dépendra de l'utilisation de la valeur. Pour les positions de pixels, une valeur de 0,25 suffirait. Pour l'échelle, une valeur de 0,005 suffirait.

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

mass : real

Cette propriété contient la « masse » de l'élément déplacé.

Sa valeur par défaut est 1,0.

Une masse plus élevée ralentit le mouvement et accentue l'effet de rebond lorsqu'un objet s'immobilise.

modulus : real

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

La définition d’un modulus e force la valeur cible à « rebondir » au niveau du e. Par exemple, si le e est défini sur 360, une valeur de 370 rebondira sur 10.

spring : real

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

La plage de valeurs utile est comprise 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 (aucune 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.