En esta página

LottieAnimation QML Type

Un reproductor Lottie para Qt. Más...

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

Item

Propiedades

Señales

Métodos

Descripción detallada

El tipo LottieAnimation muestra archivos en formato Lottie.

LottieAnimation se utiliza para cargar y renderizar archivos Lottie exportados desde Adobe After Effects. Actualmente, sólo se admite un subconjunto de la especificación Lottie completa. Las desviaciones más notables son:

  • Sólo soporta la capa Shape
  • Sólo es compatible el modo de fotogramas enteros de una línea de tiempo (los números de fotogramas reales y el tiempo se redondean al número entero más próximo).
  • No se admiten expresiones.

Para ver la lista completa de desviaciones, consulte la sección Limitaciones.

Ejemplo de uso

El siguiente ejemplo muestra un uso simple del tipo 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")
    }
}

Nota: Cambiar la anchura o la altura del elemento no cambia el tamaño de la animación en su interior. Además, no es posible alinear el contenido dentro de un elemento LottieAnimation. Para conseguirlo, posicione la animación dentro de, por ejemplo, un Item.

Rendimiento de la renderización

Internamente, los datos de los fotogramas renderizados se almacenan en caché para mejorar el rendimiento. Puedes controlar el uso de memoria configurando la variable de entorno QLOTTIE_RENDER_CACHE_SIZE (el valor por defecto es 2).

Puedes monitorizar el rendimiento del renderizado activando dos categorías de registro:

  • qt.lottieqt.lottie.render - Proporciona información sobre cómo se renderiza la animación
  • qt.lottieqt.lottie.render.thread - Proporciona información sobre cómo se desarrolla el proceso de renderizado.

Específicamente, puedes monitorizar si la caché de fotogramas se llena constantemente, o si el proceso de renderizado tiene que esperar a que los fotogramas estén listos. El primer caso implica que la animación es demasiado compleja, y el renderizado no puede mantener el ritmo. Intente simplificar la animación u optimice la escena QML.

Documentación de propiedades

autoPlay : bool

Define si el reproductor comenzará a reproducir la animación automáticamente después de cargar el archivo de animación.

El valor por defecto es true.

direction : enumeration

Esta propiedad mantiene la dirección de renderizado.

ConstanteDescripción
LottieAnimation.ForwardDirección de avance (por defecto)
LottieAnimation.ReverseDirección inversa

endFrame : int [read-only]

Número de fotograma del final de la animación. El valor está disponible después de que la animación se haya cargado y esté lista para reproducirse.

frameRate : int

Esta propiedad contiene el valor de la velocidad de fotogramas de la animación Lottie.

frameRate Cambia después de que el activo haya sido cargado. Cambiar la velocidad de fotogramas no tiene efecto antes de eso, ya que el valor definido en el activo anula el valor. Para cambiar la velocidad de fotogramas, puede escribir:

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

loops : int

Esta propiedad contiene el número de bucles que el reproductor repetirá. El valor LottieAnimation.Infinite significa que el reproductor repite la animación continuamente.

El valor por defecto es 1.

quality : enumeration

Especifica la calidad de renderizado del reproductor lottie. Si se selecciona LowQuality el renderizado se realizará en un objeto frame buffer, mientras que con otras opciones, el renderizado se realizará en QImage (que a su vez se renderizará en la pantalla).

ConstanteDescripción
LottieAnimation.LowQualityNo se utiliza antialiasing ni un algoritmo de transformación suave de pixmap.
LottieAnimation.MediumQualitySe utiliza un algoritmo de transformación suave de mapa de píxeles pero no antialiasing (Por defecto)
LottieAnimation.HighQualitySe utiliza antialiasing y un algoritmo de transformación suave de pixmap

source : url

La fuente del activo Lottie que reproduce LottieAnimation.

LottieAnimation puede manejar cualquier esquema de URL soportado por Qt. La URL puede ser absoluta o relativa a la URL del componente.

Establecer la propiedad source inicia la carga de la animación de forma asíncrona. Para monitorizar el progreso de la carga, conéctese a la señal de cambio status.

startFrame : int [read-only]

Número de fotograma del inicio de la animación. El valor está disponible después de que la animación se haya cargado y esté lista para reproducirse.

status : enumeration

Esta propiedad contiene el estado actual del elemento LottieAnimation.

ConstanteDescripción
LottieAnimation.NullUn valor inicial que se utiliza cuando la fuente no está definida (Predeterminado)
LottieAnimation.LoadingEl reproductor está cargando un archivo Lottie
LottieAnimation.ReadyLa carga ha finalizado correctamente y el reproductor está listo para reproducir la animación
LottieAnimation.ErrorSe ha producido un error al cargar la animación

Por ejemplo, puede implementar el manejador de señal onStatusChanged para monitorizar el progreso de carga de una animación de la siguiente forma:

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

Documentación de la señal

finished()

Esta señal se emite cuando el reproductor ha terminado de jugar. En caso de bucle, la señal se emite cuando el último bucle ha finalizado.

Nota: El manejador correspondiente es onFinished.

Documentación del método

double getDuration(bool inFrames)

Devuelve la duración del activo que se está reproduciendo.

Si un inFrames dado es true, el valor devuelto es la duración en número de fotogramas. En caso contrario, devuelve la duración en segundos.

void gotoAndPlay(int frame)

Reproduce el activo desde la dirección frame.

bool gotoAndPlay(string frameMarker)

Reproduce el activo del fotograma que tiene un marcador con el valor frameMarker. Devuelve true si se encontró el frameMarker, false en caso contrario.

void gotoAndStop(int frame)

Mueve el cabezal de reproducción a la dirección frame y se detiene.

bool gotoAndStop(string frameMarker)

Mueve el cabezal de reproducción al marcador dado y se detiene. Devuelve true si se ha encontrado frameMarker, false en caso contrario.

void pause()

Pone en pausa la reproducción.

void play()

Inicia o continúa la reproducción desde la posición actual.

void start()

Inicia la reproducción de la animación desde el principio.

void stop()

Detiene la reproducción y vuelve a startFrame.

void togglePause()

Alterna el estado del reproductor entre los estados de reproducción y pausa.

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