Sur cette page

LottieAnimation QML Type

Un lecteur Lottie pour Qt. Plus d'informations...

Import Statement: import Qt.labs.lottieqt 1.0
Inherits:

Item

Propriétés

Signaux

Méthodes

Description détaillée

Le type LottieAnimation affiche des fichiers au format Lottie.

LottieAnimation est utilisé pour charger et rendre 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 écarts les plus notables sont les suivants

  • Seul le calque Shape est pris en charge
  • Seul le mode d'images entières d'une ligne de temps est pris en charge (les nombres d'images réels et le temps sont arrondis à l'entier le plus proche).
  • Les expressions ne sont pas prises en charge.

Pour la liste complète des déviations, veuillez consulter la section Limitations.

Exemple d'utilisation

L'exemple suivant montre 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 ou de la hauteur de l'élément ne modifie pas la taille de l'animation qu'il contient. De même, il n'est pas possible d'aligner le contenu à l'intérieur d'un élément LottieAnimation. Pour ce faire, positionnez 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 pour 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 le rendu de l'animation
  • 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. Dans le premier cas, cela signifie que l'animation est trop complexe et que le rendu ne peut 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éfinit si le lecteur démarre automatiquement la lecture de l'animation après le chargement du fichier d'animation.

La valeur par défaut est true.

direction : enumeration

Cette propriété indique la direction du rendu.

ConstanteDescription
LottieAnimation.ForwardSens avant (par défaut)
LottieAnimation.ReverseSens inverse

endFrame : int [read-only]

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

frameRate : int

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

frameRate Cette valeur est modifiée après le chargement de la ressource. La modification de la fréquence d'images n'a pas d'effet avant cela, car la valeur définie dans l'élément est prioritaire. 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 répétées par le lecteur. 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é du rendu du lecteur Lottie. Si LowQuality est sélectionné, le rendu se fera dans un objet frame buffer, alors qu'avec les autres options, le rendu se fera sur QImage (qui à son tour sera rendu à l'écran).

ConstanteDescription
LottieAnimation.LowQualityL'anticrénelage ou un algorithme de transformation de pixmap lisse ne sont pas utilisés.
LottieAnimation.MediumQualityL'algorithme de transformation de pixmap lisse est utilisé mais pas d'anticrénelage (par défaut)
LottieAnimation.HighQualityL'anticrénelage et un algorithme de transformation de pixmap lisse sont tous deux utilisés.

source : url

La source de la ressource Lottie que LottieAnimation joue.

LottieAnimation peut gérer 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 du début de l'animation. La valeur est disponible une fois que l'animation a été chargée et prête à être jouée.

status : enumeration

Cette propriété indique 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 est en train de charger 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 mettre en œuvre le gestionnaire de signal 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 du signal

finished()

Ce signal est émis lorsque le lecteur a fini de jouer. 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 un site inFrames donné est true, la valeur renvoyée est la durée en nombre d'images. Sinon, la valeur retournée est la durée en secondes.

void gotoAndPlay(int frame)

Joue l'actif à partir de l'adresse frame.

bool gotoAndPlay(string frameMarker)

Joue la ressource de l'image qui a un marqueur avec l'adresse frameMarker. Retourne true si le frameMarker a été trouvé, false sinon.

void gotoAndStop(int frame)

Déplace la tête de lecture sur le site frame et l'arrête.

bool gotoAndStop(string frameMarker)

Déplace la tête de lecture sur le marqueur donné et s'arrête. Retourne true si frameMarker a été trouvé, false sinon.

void pause()

Interrompt la lecture.

void play()

Démarre ou poursuit la lecture à partir de la position actuelle.

void start()

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

void stop()

Arrête la lecture et revient à startFrame.

void togglePause()

Fait basculer le statut du lecteur entre l'état de lecture et l'état de pause.

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