Sur cette page

LottieAnimation QML Type

Un lecteur Lottie pour Qt. En savoir plus...

Import Statement: import Qt.labs.lottieqt 1.0

Propriétés

Signaux

Méthodes

Description détaillée

Le type LottieAnimation affiche les fichiers au format Lottie.

LottieAnimation est utilisé pour charger et afficher les fichiers Lottie exportés depuis Adobe After Effects. Actuellement, seul un sous-ensemble de la spécification Lottie complète est pris en charge. Les principales différences sont les suivantes :

  • Seul le calque « Shape » est pris en charge
  • Seul le mode d'images entières de la timeline est pris en charge (les numéros d'images réels et la durée sont arrondis à l'entier le plus proche)
  • Les expressions ne sont pas prises en charge

Pour la liste complète des différences, veuillez consulter la section « Limitations ».

Exemple d'utilisation

L'exemple suivant illustre une utilisation simple du type LottieAnimation

LottieAnimation {
    loops: 2
    quality: LottieAnimation.MediumQuality
    source: "animation.json"
    autoPlay: false
    onStatusChanged: {
        if (status === LottieAnimation.Ready) {
            // any acvities needed before
            // playing starts go here
            gotoAndPlay(startFrame);
        }
    }
    onFinished: {
        console.log("Finished playing")
    }
}

Remarque : la modification de la largeur oude la hauteur de l’élément ne modifie pas la taille de l’animation qu’il contient. De plus, il n’est pas possible d’aligner le contenu à l’intérieur d’un élément ` LottieAnimation `. Pour y parvenir, placez l’animation à l’intérieur, par exemple, d’un élément ` Item`.

Performances de rendu

En interne, les données des images rendues sont mises en cache afin d’améliorer les performances. Vous pouvez contrôler l’utilisation de la mémoire en définissant la variable d’environnement QLOTTIE_RENDER_CACHE_SIZE (la valeur par défaut est 2).

Vous pouvez surveiller les performances de rendu en activant deux catégories de journalisation :

  • qt.lottieqt.lottie.render - Fournit des informations sur la manière dont l’animation est rendue
  • qt.lottieqt.lottie.render.thread - Fournit des informations sur le déroulement du processus de rendu.

Plus précisément, vous pouvez vérifier si le cache d’images est constamment plein ou si le processus de rendu doit attendre que les images soient prêtes. Le premier cas signifie que l’animation est trop complexe et que le rendu ne parvient pas à suivre le rythme. Essayez de simplifier l’animation ou d’optimiser la scène QML.

Documentation sur les propriétés

autoPlay : bool

Détermine si le lecteur lancera automatiquement la lecture de l'animation une fois le fichier d'animation chargé.

La valeur par défaut est « true ».

currentFrame : int [read-only, since 6.12]

Numéro de l'image actuellement affichée dans l'animation.

Cette propriété a été introduite dans Qt 6.12.

direction : enumeration

Cette propriété contient la direction du rendu.

ConstanteDescription
LottieAnimation.ForwardDirection avant (par défaut)
LottieAnimation.ReverseDirection inverse

endFrame : int [read-only]

Numéro d'image marquant la fin de l'animation. Cette valeur est disponible une fois que l'animation a été chargée et qu'elle est prête à être lue.

frameRate : int

Cette propriété contient la valeur de la fréquence d'images de l'animation Lottie.

frameRate Elle change une fois que la ressource a été chargée. La modification de la fréquence d’images n’a aucun effet avant cela, car la valeur définie dans la ressource prévaut sur celle-ci. Pour modifier la fréquence d’images, vous pouvez écrire :

LottieAnimation {
    source: "animation.json"
    onStatusChanged: {
        if (status === LottieAnimation.Ready)
            frameRate = 60;
    }

loops : int

Cette propriété indique le nombre de boucles que le lecteur va répéter. La valeur « LottieAnimation.Infinite » signifie que le lecteur répète l'animation en continu.

La valeur par défaut est « 1 ».

quality : enumeration

Spécifie la qualité de rendu du lecteur Lottie. Si l'option « LowQuality » est sélectionnée, le rendu s'effectuera dans un objet « frame buffer », tandis qu'avec les autres options, il s'effectuera sur un « QImage » (qui sera ensuite affiché à l'écran).

ConstanteDescription
LottieAnimation.LowQualityL'anticrénelage et l'algorithme de transformation lisse des images bitmap ne sont pas utilisés
LottieAnimation.MediumQualityL’algorithme de transformation lisse des images bitmap est utilisé, mais pas d’anticrénelage (par défaut)
LottieAnimation.HighQualityL’anticrénelage et un algorithme de transformation lisse des images bitmap sont tous deux utilisés

source : url

La source de la ressource Lottie lue par LottieAnimation.

LottieAnimation peut prendre en charge n’importe quel schéma d’URL pris en charge par Qt. L’URL peut être absolue ou relative à l’URL du composant.

La définition de la propriété `source` lance le chargement de l’animation de manière asynchrone. Pour suivre la progression du chargement, connectez-vous au signal de changement ` status `.

startFrame : int [read-only]

Numéro d'image marquant le début de l'animation. Cette valeur est disponible une fois que l'animation a été chargée et qu'elle est prête à être lue.

status : enumeration

Cette propriété contient l'état actuel de l'élément « LottieAnimation ».

ConstanteDescription
LottieAnimation.NullValeur initiale utilisée lorsque la source n’est pas définie (par défaut)
LottieAnimation.LoadingLe lecteur charge un fichier Lottie
LottieAnimation.ReadyLe chargement s'est terminé avec succès et le lecteur est prêt à lire l'animation
LottieAnimation.ErrorUne erreur s'est produite lors du chargement de l'animation

Par exemple, vous pouvez implémenter un gestionnaire de sign onStatusChanged pour surveiller la progression du chargement d’une animation comme suit :

LottieAnimation {
    source: "animation.json"
    autoPlay: false
    onStatusChanged: {
        if (status === LottieAnimation.Ready)
            start();
    }

Documentation sur les signaux

finished()

Ce signal est émis lorsque la lecture est terminée. En cas de lecture en boucle, le signal est émis lorsque la dernière boucle est terminée.

Remarque : le gestionnaire correspondant est onFinished.

Documentation de la méthode

double getDuration(bool inFrames)

Renvoie la durée de l'élément en cours de lecture.

Si l'inFrames est de type « true », la valeur renvoyée correspond à la durée en nombre d'images. Sinon, la durée est renvoyée en secondes.

void gotoAndPlay(int frame)

Lance la lecture du fichier multimédia à partir de l'adresse frame.

bool gotoAndPlay(string frameMarker)

Lance la lecture du fichier multimédia à partir de l'image contenant un marqueur dont l'frameMarker est celle indiquée. Renvoie « true » si le marqueur d'image a été trouvé, « false » dans le cas contraire.

void gotoAndStop(int frame)

Déplace la tête de lecture à l'frame indiquée et met la lecture en pause.

bool gotoAndStop(string frameMarker)

Déplace la tête de lecture vers le marqueur indiqué et s'arrête. Renvoie « true » si « frameMarker » a été trouvé, « false » dans le cas contraire.

void pause()

Met la lecture en pause.

void play()

Lance la lecture ou la reprend à partir de la position actuelle.

void start()

Lance la lecture de l'animation depuis le début.

void stop()

Interrompt la lecture et revient à startFrame.

void togglePause()

Permet de basculer entre les états « lecture » et « pause » du lecteur.

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