Sur cette page

Animation QML Type (Uncreatable)

Il s'agit de la base de toutes les animations QML. En savoir plus...

Remarque : il s'agit d'un type non instanciable. Il ne peut pas être instancié en QML.

Propriétés

Signaux

Méthodes

Description détaillée

Le type Animation ne peut pas être utilisé directement dans un fichier QML. Il sert à fournir un ensemble de propriétés et de méthodes communes, disponibles pour tous les autres types d'animation qui en héritent. Toute tentative d'utilisation directe du type Animation entraînera une erreur.

Documentation des propriétés

alwaysRunToEnd : bool

Cette propriété détermine si l'animation doit se poursuivre jusqu'à son terme lorsqu'elle est arrêtée.

Si cette valeur est définie sur true, l'animation terminera son itération en cours lorsqu'elle sera arrêtée, soit en définissant la propriété running sur false, soit en appelant la méthode stop(). La méthode complete() n'est pas affectée par cette valeur.

Ce comportement est particulièrement utile lorsque la propriété ` loops ` est définie, car l’animation se terminera normalement sans redémarrer.

Par défaut, la propriété `alwaysRunToEnd` n’est pas définie.

Remarque : la propriété `alwaysRunToEnd ` n’a aucun effet sur les animations d’une transition.

loops : int

Cette propriété détermine le nombre de fois que l'animation doit être lue.

Par défaut, la valeur de la propriété « loops » est 1 : l'animation sera lue une seule fois, puis s'arrêtera.

Si elle est définie sur Animation.Infinite, l'animation se répète en boucle jusqu'à ce qu'elle soit explicitement arrêtée, soit en définissant la propriété running sur false, soit en appelant la méthode stop().

Dans l’exemple suivant, le rectangle tournera indéfiniment.

Rectangle {
    width: 100; height: 100; color: "green"
    RotationAnimation on rotation {
        loops: Animation.Infinite
        from: 0
        to: 360
    }
}

paused : bool

Cette propriété indique si l'animation est actuellement en pause.

La propriété paused peut être définie pour contrôler de manière déclarative si une animation est en pause ou non.

Les animations peuvent également être mises en pause et reprises de manière impérative à partir de JavaScript à l’aide des méthodes ` pause() ` et ` resume() `.

Par défaut, les animations ne sont pas mises en pause.

running : bool

Cette propriété indique si l'animation est en cours d'exécution.

La propriété running peut être définie pour contrôler de manière déclarative si une animation est en cours d'exécution ou non. L'exemple suivant anime un rectangle chaque fois que l'MouseArea est enfoncé.

Rectangle {
    width: 100; height: 100
    NumberAnimation on x {
        running: myMouse.pressed
        from: 0; to: 100
    }
    MouseArea { id: myMouse }
}

De même, la propriété ` running ` peut être lue pour déterminer si l’animation est en cours d’exécution. Dans l’exemple suivant, l’élément `Text` indiquera si l’animation est en cours d’exécution ou non.

NumberAnimation { id: myAnimation }
Text { text: myAnimation.running ? "Animation is running" : "Animation is not running" }

Les animations peuvent également être lancées et arrêtées de manière impérative depuis JavaScript à l’aide des méthodes start() et stop().

Par défaut, les animations ne sont pas en cours d’exécution. Cependant, lorsque les animations sont attribuées à des propriétés en tant que sources de valeur de propriété à l’aide de la syntaxe « on », elles sont définies par défaut comme étant en cours d’exécution.

Documentation sur les signaux

finished()

Ce signal est émis lorsque l'animation s'est terminée naturellement.

Il n'est pas émis lorsque la propriété « running » est définie sur « false », ni pour les animations dont la propriété « loops » est définie sur « Animation.Infinite ».

De plus, il n’est émis que pour les animations autonomes de niveau supérieur. Il ne sera pas émis pour les animations contenues dans un « Behavior » ou une « Transition », ni pour celles faisant partie d’un groupe d’animations.

Si la valeur de « alwaysRunToEnd » est « true », ce signal ne sera pas émis tant que l'animation n'aura pas terminé son itération en cours.

Remarque : le gestionnaire correspondant est onFinished.

Voir également stopped(), started() et running.

started()

Ce signal est émis lorsque l'animation commence.

Il n'est déclenché que pour les animations autonomes de niveau supérieur. Il ne sera pas déclenché pour les animations contenues dans un comportement ou une transition, ni pour celles faisant partie d'un groupe d'animations.

Remarque : le gestionnaire correspondant est onStarted.

stopped()

Ce signal est émis lorsque l'animation se termine.

L'animation peut avoir été arrêtée manuellement ou s'être déroulée jusqu'à son terme.

Il n'est déclenché que pour les animations autonomes de niveau supérieur. Il ne sera pas déclenché pour les animations intégrées à un comportement ou à une transition, ni pour celles faisant partie d'un groupe d'animations.

Si la propriété « alwaysRunToEnd » est définie sur « true », ce signal ne sera pas émis tant que l’animation n’aura pas terminé son itération en cours.

Remarque : le gestionnaire correspondant est onStopped.

Documentation de la méthode

void complete()

Arrête l'animation et passe directement aux valeurs finales des propriétés.

Si l'animation n'est pas en cours d'exécution, l'appel de cette méthode n'a aucun effet. La propriété running prendra la valeur false après un appel à complete().

Contrairement à ` stop()`, ` complete() ` fait immédiatement avancer l'animation jusqu'à sa fin. Dans l'exemple suivant,

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

l'appel de ` stop() ` à l'instant 250 ms fera prendre à la propriété ` x ` la valeur 50, tandis que l'appel de ` complete() ` fixera la propriété ` x ` à 100, exactement comme si l'animation s'était déroulée dans son intégralité.

void pause()

Met l'animation en pause.

Si l'animation est déjà en pause ou si elle n'est pas en cours d'running, l'appel de cette méthode n'a aucun effet. La propriété paused prendra la valeur true après un appel à pause().

void restart()

Relance l'animation.

Il s'agit d'une méthode pratique, équivalente à l'appel de ` stop() `, puis de ` start()`.

void resume()

Reprend une animation mise en pause.

Si l'animation n'est pas mise en pause ou n'est pas en cours de lecture ( running), l'appel de cette méthode n'a aucun effet. La propriété paused prendra la valeur false après un appel à resume().

void start()

Lance l'animation.

Si l'animation est déjà en cours, l'appel de cette méthode n'a aucun effet. La propriété « running » prendra la valeur « true » après un appel à « start() ».

void stop()

Arrête l'animation.

Si l'animation n'est pas en cours d'exécution, l'appel de cette méthode n'a aucun effet. Les propriétés running et paused prendront la valeur false après un appel à stop().

Normalement, la méthode ` stop() ` arrête l'animation immédiatement, et celle-ci n'a plus aucune influence sur les valeurs des propriétés. Dans cet exemple, l'animation

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

a été arrêtée à 250 ms, la propriété ` x ` aura une valeur de 50.

Cependant, si la propriété ` alwaysRunToEnd ` est définie, l’animation continuera à s’exécuter jusqu’à son terme, puis s’arrêtera. La propriété ` running ` prendra tout de même la valeur « false » immédiatement.

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