LottieAnimation QML Type
Un lecteur Lottie pour Qt. Plus d'informations...
| Import Statement: | import Qt.labs.lottieqt 1.0 |
| Inherits: |
Propriétés
- autoPlay : bool
- direction : enumeration
- endFrame : int
- frameRate : int
- loops : int
- quality : enumeration
- source : url
- startFrame : int
- status : enumeration
Signaux
- finished()
Méthodes
- double getDuration(bool inFrames)
- void gotoAndPlay(int frame)
- bool gotoAndPlay(string frameMarker)
- void gotoAndStop(int frame)
- bool gotoAndStop(string frameMarker)
- void pause()
- void play()
- void start()
- void stop()
- void togglePause()
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'animationqt.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.
| Constante | Description |
|---|---|
LottieAnimation.Forward | Sens avant (par défaut) |
LottieAnimation.Reverse | Sens 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).
| Constante | Description |
|---|---|
LottieAnimation.LowQuality | L'anticrénelage ou un algorithme de transformation de pixmap lisse ne sont pas utilisés. |
LottieAnimation.MediumQuality | L'algorithme de transformation de pixmap lisse est utilisé mais pas d'anticrénelage (par défaut) |
LottieAnimation.HighQuality | L'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.
| Constante | Description |
|---|---|
LottieAnimation.Null | Valeur initiale utilisée lorsque la source n'est pas définie (par défaut). |
LottieAnimation.Loading | Le lecteur est en train de charger un fichier Lottie |
LottieAnimation.Ready | Le chargement s'est terminé avec succès et le lecteur est prêt à lire l'animation. |
LottieAnimation.Error | Une 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.