Animation QML Type
C'est la base de toutes les animations QML. Plus d'informations...
| Import Statement: | import QtQuick |
| Inherited By: | 23 typesAnchorAnimation, Animator, ColorAnimation, NumberAnimation, OpacityAnimator, ParallelAnimation, ParentAnimation, PathAnimation, PauseAnimation, PropertyAction, PropertyAnimation, QuaternionAnimation, RotationAnimation, RotationAnimator, ScaleAnimator, ScriptAction, SequentialAnimation, SmoothedAnimation, SpringAnimation, UniformAnimator, Vector3dAnimation, XAnimator, and YAnimator |
Propriétés
- alwaysRunToEnd : bool
- loops : int
- paused : bool
- running : bool
Signaux
Méthodes
Description détaillée
Le type Animation ne peut pas être utilisé directement dans un fichier QML. Il existe pour 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 sur les propriétés
alwaysRunToEnd : bool
Cette propriété indique si l'animation doit se poursuivre jusqu'à son terme lorsqu'elle est arrêtée.
Si cette valeur est vraie, l'animation terminera son itération actuelle 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 termine normalement mais ne redémarre pas.
Par défaut, la propriété alwaysRunToEnd n'est pas définie.
Remarque : alwaysRunToEnd n'a aucun effet sur les animations dans une transition.
loops : int
Cette propriété indique le nombre de fois que l'animation doit être jouée.
Par défaut, loops est égal à 1 : l'animation est jouée une fois et s'arrête ensuite.
Si elle est définie sur Animation.Infinite, l'animation se répète continuellement 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 mise en pause ou non.
Les animations peuvent également être mises en pause et reprises impérativement à 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 ou non. L'exemple suivant anime un rectangle chaque fois que l'on appuie sur la touche MouseArea.
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. Dans l'exemple suivant, l'élément Text indiquera si l'animation est en cours 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 impérativement à partir de JavaScript à l'aide des méthodes start() et stop().
Par défaut, les animations ne sont pas en cours d'exécution. Toutefois, lorsque les animations sont affectées à des propriétés, en tant que sources de valeur de propriété à l'aide de la syntaxe on, elles sont définies comme étant en cours d'exécution par défaut.
Documentation sur le signal
finished()
Ce signal est émis lorsque l'animation se termine naturellement.
Il n'est pas émis lorsque running est défini sur false, ni pour les animations dont la propriété loops est définie sur Animation.Infinite.
En outre, il n'est émis que pour les animations autonomes de premier niveau. Il n'est pas émis pour les animations dans un comportement ou une transition, ni pour les animations qui font partie d'un groupe d'animation.
Si alwaysRunToEnd est vrai, ce signal ne sera pas émis tant que l'animation n'aura pas terminé son itération actuelle.
Remarque : le gestionnaire correspondant est onFinished.
Voir aussi stopped(), started() et running.
started()
Ce signal est émis lorsque l'animation commence.
Il n'est déclenché que pour les animations autonomes de premier niveau. Il ne sera pas déclenché pour les animations dans un comportement ou une transition, ou pour les animations qui font partie d'un groupe d'animation.
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 premier niveau. Il ne sera pas déclenché pour les animations dans un comportement ou une transition, ou pour les animations qui font partie d'un groupe d'animation.
Si alwaysRunToEnd est vrai, ce signal ne sera pas émis tant que l'animation n'aura pas terminé son itération actuelle.
Remarque : le gestionnaire correspondant est onStopped.
Documentation de la méthode
void complete()
Arrête l'animation et passe aux valeurs finales des propriétés.
Si l'animation n'est pas en cours, l'appel à cette méthode n'a aucun effet. La propriété running sera fausse à la suite d'un appel à complete().
Contrairement à stop(), complete() accélère immédiatement l'animation jusqu'à sa fin. Dans l'exemple suivant,
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
l'appel à stop() au temps 250ms donnera à la propriété x la valeur 50, tandis que l'appel à complete() donnera à la propriété x la valeur 100, exactement comme si l'animation avait été jouée jusqu'au bout.
void pause()
Met l'animation en pause.
Si l'animation est déjà en pause ou si elle n'est pas running, l'appel à cette méthode n'a aucun effet. La propriété paused sera vraie à la suite d'un appel à pause().
void restart()
Redémarre l'animation.
Il s'agit d'une méthode de commodité, qui équivaut à appeler stop() puis start().
void resume()
Reprend une animation en pause.
Si l'animation n'est pas en pause ou n'est pas running, l'appel à cette méthode n'a aucun effet. La propriété paused sera fausse à la suite d'un appel à resume().
void start()
Démarre l'animation.
Si l'animation est déjà en cours, l'appel à cette méthode n'a aucun effet. La propriété running sera vraie à la suite d'un appel à start().
void stop()
Arrête l'animation.
Si l'animation n'est pas en cours d'exécution, l'appel à cette méthode n'a aucun effet. Les propriétés running et paused seront toutes deux fausses à la suite d'un appel à stop().
Normalement, stop() arrête l'animation immédiatement et l'animation n'a plus d'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 au temps 250ms, la propriété x aura une valeur de 50.
Toutefois, si la propriété alwaysRunToEnd est définie, l'animation se poursuivra jusqu'à son terme, puis s'arrêtera. La propriété running deviendra immédiatement fausse.
© 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.