Sur cette page

Animator QML Type (Uncreatable)

Il s'agit de la base de tous les animateurs QML. En savoir plus...

Import Statement: import QtQuick
Inherits:

Animation

Inherited By:

OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator, and YAnimator

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

Propriétés

Description détaillée

Les types d'animateurs constituent un type particulier d'animation qui opère directement sur le graphe de scène d'Qt Quick, plutôt que sur les objets QML et leurs propriétés comme le font les types d'animation classiques. Cela présente l'avantage de permettre aux animations basées sur des animateurs de s'exécuter sur le thread de rendu du graphe de scène même lorsque le thread de l'interface utilisateur est bloqué.

La valeur de la propriété QML sera mise à jour une fois l’animation terminée. La propriété n’est pas mise à jour pendant l’exécution de l’animation.

Les types Animator s’utilisent comme n’importe quel autre type d’animation.

Rectangle {
    id: mixBox
    width: 50
    height: 50
    ParallelAnimation {
        ColorAnimation {
            target: mixBox
            property: "color"
            from: "forestgreen"
            to: "lightsteelblue";
            duration: 1000
        }
        ScaleAnimator {
            target: mixBox
            from: 2
            to: 1
            duration: 1000
        }
        running: true
    }
}

Si toutes les sous-animations de ParallelAnimation et SequentialAnimation sont des types « Animator », les éléments ParallelAnimation et SequentialAnimation seront également traités comme des « Animator » et s'exécuteront sur le thread de rendu du graphe de scène lorsque cela est possible.

Les types « Animator » peuvent être utilisés pour des animations lors de transitions, mais ils ne prennent pas en charge la propriété « reversible ».

Le type `Animator` 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’animateurs qui en héritent. Toute tentative d’utilisation directe du type `Animator` entraînera une erreur.

Remarque : les typesAnimator ne présentent aucun avantage lorsqu’une boucle de rendu non multithread est utilisée.

Remarque : il est recommandé aux applications d’opter pour des conceptions basées sur des principes multithread et asynchrones, plutôt que de s’appuyer sur des animateurs pour afficher du contenu animé tout en effectuant des tâches coûteuses et bloquantes sur le thread principal (GUI). Au lieu d’opérations longues et bloquantes, privilégiez l’utilisation de ` WorkerScript ` et ` asynchronous image loading ` en QML, ainsi que des threads de travail, des algorithmes parallèles, Qt Concurrentet les coroutines en C++, afin de garantir à tout moment la réactivité de l’application et de l’interface utilisateur.

Documentation sur les propriétés

duration : int

Cette propriété indique la durée de l'animation en millisecondes.

La valeur par défaut est 250.

easing group

easing.amplitude : real

easing.bezierCurve : list<real>

easing.overshoot : real

easing.period : real

easing.type : enumeration

Spécifie la courbe d'accélération utilisée pour l'animation

Pour définir une courbe d'accélération, vous devez au moins indiquer son type. Pour certaines courbes, vous pouvez également préciser l'amplitude, la période et/ou le dépassement (plus de détails sont fournis après le tableau). La courbe d'accélération par défaut est « Easing.Linear ».

PropertyAnimation { properties: "y";
                    easing.type: Easing.InOutElastic;
                    easing.amplitude: 2.0;
                    easing.period: 1.5 }

Les types disponibles sont les suivants :

Easing.LinearCourbe d'accélération pour une fonction linéaire (t) : la vitesse est constante.Courbe d'accélération linéaire
Easing.InQuadCourbe d'accélération pour une fonction quadratique (t²) : accélération à partir d'une vitesse nulle.Courbe d'atténuation InQuad
Easing.OutQuadCourbe d'accélération/décélération pour une fonction quadratique (t²) : décélération jusqu’à une vitesse nulle.Courbe d'atténuation OutQuad
Easing.InOutQuadCourbe d’accélération/décélération pour une fonction quadratique (t²): accélération jusqu’à mi-parcours, puis décélération.Courbe d'accélération InOutQuad
Easing.OutInQuadCourbe d'accélération/décélération pour une fonction quadratique (t²) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'accélération OutInQuad
Easing.InCubicCourbe d'accélération/décélération pour une fonction cubique (t³) : accélération à partir d'une vitesse nulle.Courbe d'atténuation InCubic
Easing.OutCubicCourbe d'accélération/décélération pour une fonction cubique (t³) : décélération jusqu'à une vitesse nulle.Courbe d'accélération OutCubic
Easing.InOutCubicCourbe d'accélération/décélération pour une fonction cubique (t³) : accélération jusqu’à mi-parcours, puis décélération.Courbe d'accélération InOutCubic
Easing.OutInCubicCourbe d'accélération/décélération pour une fonction cubique (t³) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'accélération OutInCubic
Easing.InQuartCourbe d'accélération/décélération pour une fonction du quatrième degré (t^4) : accélération à partir d'une vitesse nulle.Courbe de ralentissement InQuart
Easing.OutQuartCourbe d'accélération/décélération pour une fonction de quatrième degré (t^4) : décélération jusqu'à une vitesse nulle.Courbe d'atténuation OutQuart
Easing.InOutQuartCourbe d'accélération/décélération pour une fonction du quatrième degré (t^4) : accélération jusqu'à mi-parcours, puis décélération.Courbe d'atténuation InOutQuart
Easing.OutInQuartCourbe d'accélération/décélération pour une fonction de quatrième degré (t^4) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'accélération OutInQuart
Easing.InQuintCourbe d'accélération/décélération pour une fonction quintique (t^5) : accélération à partir d'une vitesse nulle.Courbe de décélération InQuint
Easing.OutQuintCourbe d'accélération/décélération pour une fonction du cinquième degré (t^5) : décélération jusqu'à une vitesse nulle.Courbe d'atténuation OutQuint
Easing.InOutQuintCourbe d'accélération/décélération pour une fonction de cinquième degré (t^5) : accélération jusqu'à la moitié du trajet, puis décélération.Courbe d'accélération InOutQuint
Easing.OutInQuintCourbe d'accélération/décélération pour une fonction du cinquième degré (t^5) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'atténuation OutInQuint
Easing.InSineCourbe d'accélération/décélération pour une fonction sinusoïdale (sin(t)) : accélération à partir d'une vitesse nulle.Courbe d'atténuation InSine
Easing.OutSineCourbe d'accélération/décélération pour une fonction sinusoïdale (sin(t)) : décélération jusqu'à une vitesse nulle.Courbe d'atténuation OutSine
Easing.InOutSineCourbe d'accélération/décélération pour une fonction sinusoïdale (sin(t)) : accélération jusqu'à mi-parcours, puis décélération.Courbe d'accélération InOutSine
Easing.OutInSineCourbe d'accélération/décélération pour une fonction sinusoïdale (sin(t)) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'accélération OutInSine
Easing.InExpoCourbe d'accélération/décélération pour une fonction exponentielle (2^t) : accélération à partir d'une vitesse nulle.Courbe d'assouplissement d'InExpo
Easing.OutExpoCourbe d'accélération/décélération pour une fonction exponentielle (2^t) : décélération jusqu'à une vitesse nulle.Courbe d'assouplissement d'OutExpo
Easing.InOutExpoCourbe d'accélération/décélération pour une fonction exponentielle (2^t) : accélération jusqu'à mi-parcours, puis décélération.Courbe de ralentissement d'InOutExpo
Easing.OutInExpoCourbe d'accélération/décélération pour une fonction exponentielle (2^t) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'atténuation d'OutInExpo
Easing.InCircCourbe d'accélération/décélération pour une fonction circulaire (√(1-t²)) : accélération à partir d'une vitesse nulle.Courbe d'atténuation InCirc
Easing.OutCircCourbe d'accélération/décélération pour une fonction circulaire (√(1-t²)): décélération jusqu'à une vitesse nulle.Courbe d'accélération OutCirc
Easing.InOutCircCourbe d'accélération/décélération pour une fonction circulaire (√(1-t²)) : accélération jusqu'à mi-parcours, puis décélération.Courbe d'accélération InOutCirc
Easing.OutInCircCourbe d'atténuation pour une fonction circulaire (√(1-t²)) : décélération jusqu'à mi-parcours, puis accélération.Courbe d'accélération OutInCirc
Easing.InElasticCourbe d'accélération/décélération pour une fonction élastique (onde sinusoïdale décroissant de manière exponentielle) : accélération à partir d’une vitesse nulle.
L’amplitude maximale peut être définie à l’aide du paramètre « amplitude », et la période de décroissance à l’aide du paramètre « période ».
Courbe d'accélération « InElastic »
Easing.OutElasticCourbe d'accélération/décélération pour une fonction élastique (onde sinusoïdale décroissant de manière exponentielle) : décélération jusqu’à une vitesse nulle.
L’amplitude maximale peut être définie à l’aide du paramètre « amplitude », et la période de décroissance à l’aide du paramètre « période ».
Courbe d'accélération OutElastic
Easing.InOutElasticCourbe d'accélération/décélération pour une fonction élastique (onde sinusoïdale à décroissance exponentielle) : accélération jusqu'à mi-parcours, puis décélération.Courbe d'accélération InOutElastic
Easing.OutInElasticCourbe d’accélération/décélération pour une fonction élastique (onde sinusoïdale à décroissance exponentielle) : décélération jusqu’à mi-parcours, puis accélération.Courbe d'accélération OutInElastic
Easing.InBackCourbe d’accélération/décélération pour une fonction « back » (fonction cubique avec dépassement : (s+1)*t^3 - s*t^2) : accélération à partir d’une vitesse nulle.Courbe d'atténuation InBack
Easing.OutBackCourbe d’accélération/décélération pour une fonction « back » (fonction cubique avec dépassement : (s+1)*t^3 - s*t^2) en sortie : décélération jusqu’à une vitesse nulle.Courbe d'accélération OutBack
Easing.InOutBackCourbe d’accélération/décélération pour une fonction cubique avec dépassement (s+1)*t^3 - s*t^2) : accélération jusqu’à mi-parcours, puis décélération.Courbe de décélération InOutBack
Easing.OutInBackCourbe d’accélération/décélération pour un retour (accélération/décélération cubique avec dépassement : (s+1)*t^3 - s*t^2) : décélération jusqu’à mi-parcours, puis accélération.Courbe d'atténuation OutInBack
Easing.InBounceCourbe d’accélération/décélération pour une fonction de rebond (rebond parabolique à décroissance exponentielle) : accélération à partir d’une vitesse nulle.Courbe d'atténuation InBounce
Easing.OutBounceCourbe d'accélération/décélération pour une fonction de rebond (rebond parabolique à décroissance exponentielle) : décélération jusqu’à une vitesse nulle.Courbe d'accélération OutBounce
Easing.InOutBounceCourbe d’atténuation pour une fonction de rebond (rebond parabolique à décroissance exponentielle) avec accélération et décélération : accélération jusqu’à mi-parcours, puis décélération.Courbe d'accélération InOutBounce
Easing.OutInBounceCourbe d’accélération/décélération pour une fonction de rebond (rebond parabolique à décroissance exponentielle) avec accélération/décélération : décélération jusqu’à mi-parcours, puis accélération.Courbe d'accélération OutInBounce
Easing.BezierSplineCourbe d’accélération personnalisée définie par la propriété easing.bezierCurve.

easing.amplitude N'est applicable qu'aux courbes de rebond et élastiques (courbes de type Easing.InBounce, Easing.OutBounce, Easing.InOutBounce, Easing.OutInBounce, Easing.InElastic, Easing.OutElastic, Easing.InOutElastic ou Easing.OutInElastic).

easing.overshoot N'est applicable que si « easing.type » est : « Easing.InBack », « Easing.OutBack », « Easing.InOutBack » ou « Easing.OutInBack ».

easing.period N'est applicable que si easing.type est : Easing.InElastic, Easing.OutElastic, Easing.InOutElastic ou Easing.OutInElastic.

easing.bezierCurve N'est applicable que si easing.type est : Easing.BezierSpline. Cette propriété est une liste <real> contenant des groupes de trois points définissant une courbe allant de 0,0 à 1,1 - point de contrôle 1, point de contrôle 2, point final : [cx1, cy1, cx2, cy2, endx, endy, ...]. Le dernier point doit être 1,1.

Consultez la section « Courbes d’accélération » pour une démonstration des différents paramètres d’accélération.

from : real

Cette propriété contient la valeur de départ de l'animation.

Si l’Animator est défini dans un Transition ou un Behavior, cette valeur prend par défaut la valeur définie dans l’état initial de l’ Transition, ou la valeur actuelle de la propriété au moment où l’ Behavior est déclenché.

Voir également «Animations et transitions » dans Qt Quick.

target : QtQuick::Item

Cette propriété contient l'élément cible de l'animateur.

Remarque : les ciblesde l'animateur doivent être des types basés sur des éléments.

to : real

Cette propriété contient la valeur finale de l'animation.

Si l’Animator est défini dans une Transition ou une Behavior, cette valeur prend par défaut la valeur définie dans l’état final de l’ Transition, ou la valeur de la modification de propriété qui a déclenché l’ Behavior.

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