Auf dieser Seite

AnimatedImage QML Type

Spielt Animationen ab, die als Bilderserie gespeichert sind. Mehr...

Import Statement: import QtQuick
Inherits:

Image

Aufzählungen

Eigenschaften

Signale

Ausführliche Beschreibung

Der Typ „AnimatedImage“ erweitert die Funktionen des Typs „ Image “ und bietet die Möglichkeit, Animationen abzuspielen, die als Bilder mit einer Reihe von Einzelbildern gespeichert sind, wie beispielsweise in GIF-Dateien.

Informationen zum aktuellen Bild und zur Gesamtlänge der Animation können über die Eigenschaften „ currentFrame “ und „ frameCount “ abgerufen werden. Sie können die Animation starten, anhalten und stoppen, indem Sie die Werte der Eigenschaften „ playing “ und „ paused “ ändern.

Die vollständige Liste der unterstützten Formate lässt sich mit ` QMovie::supportedFormats()` ermitteln.

Die Anzahl der Wiederholungen der Animation lässt sich über die Eigenschaft „ loops “ steuern. Standardmäßig wird die Animation unendlich oft wiederholt. Das Signal „ finished “ wird ausgelöst, wenn die Animation die angegebene Anzahl an Wiederholungen abgespielt hat.

Anwendungsbeispiel

Der folgende QML-Code zeigt, wie ein animiertes Bild angezeigt und Informationen zu seinem Status, wie z. B. das aktuelle Bild und die Gesamtanzahl der Bilder, abgerufen werden können. Das Ergebnis ist ein animiertes Bild mit einer einfachen Fortschrittsanzeige darunter.

Hinweis: Wenn animierte Bilder zwischengespeichert werden, wird jedes Einzelbild der Animation zwischengespeichert.

Setzen Sie „cache“ auf „false“, wenn Sie eine lange oder umfangreiche Animation abspielen und Speicherplatz sparen möchten.

Wenn die Bilddaten von einem sequenziellen Gerät (z. B. einem Socket) stammen, kann „AnimatedImage“ nur dann eine Schleife ausführen, wenn „cache“ auf „true“ gesetzt ist.


import QtQuick

Rectangle {
    width: animation.width; height: animation.height + 8

    AnimatedImage { id: animation; source: "animation.gif" }

    Rectangle {
        property int frames: animation.frameCount

        width: 4; height: 8
        x: (animation.width - width) * animation.currentFrame / frames
        y: animation.height
        color: "red"
    }
}

Siehe auch BorderImage und Image.

Dokumentation zur Enumeration

[since 6.12] FinishBehavior

Diese Enumeration beschreibt das Verhalten, wenn die Animation von selbst endet.

KonstanteBeschreibung
AnimatedImage.FinishAtInitialFrameWenn die Animation endet, kehrt sie zum Ausgangsframe zurück. Dies ist das Standardverhalten.
AnimatedImage.FinishAtFinalFrameWenn die Animation endet, verbleibt sie auf dem letzten Bild.

Diese Enumeration wurde in Qt 6.12 eingeführt.

Eigenschaftsdokumentation

currentFrame : int

frameCount : int [read-only]

currentFrame ist der derzeit sichtbare Frame. Indem Sie diese Eigenschaft auf Änderungen überwachen, können Sie andere Elemente gleichzeitig mit dem Bild animieren.

frameCount ist die Anzahl der Frames in der Animation. Bei einigen Animationsformaten ist „ frameCount “ unbekannt und hat den Wert Null.

finishBehavior : enumeration [since 6.12]

Diese Eigenschaft legt fest, wie sich die Animation verhält, wenn sie von selbst endet. Der Standardwert lautet „ FinishBehavior “.{FinishAtInitialFrame}.

Diese Eigenschaft wurde in Qt 6.12 eingeführt.

Siehe auch FinishBehavior.

loops : int [since 6.12]

Diese Eigenschaft gibt an, wie oft die Animation abgespielt wird.

Nachdem die Animation so oft abgespielt wurde, wird sie automatisch gestoppt und das Signal „ finished “ wird ausgelöst.

Ist diese Eigenschaft auf „ AnimatedImage.Infinite “ gesetzt (Standardeinstellung), wird die Animation nicht von selbst beendet.

Wird „ loops “ auf „ 0 “ gesetzt, wird die Animation nicht abgespielt.

Negative Werte sind ungültig.

Diese Eigenschaft wurde in Qt 6.12 eingeführt.

paused : bool

Diese Eigenschaft gibt an, ob das animierte Bild angehalten ist.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt. Setzen Sie sie auf „true“, wenn Sie die Animation anhalten möchten.

playing : bool

Diese Eigenschaft gibt an, ob das animierte Bild gerade abgespielt wird.

Standardmäßig ist diese Eigenschaft auf „true“ gesetzt, was bedeutet, dass die Animation sofort abgespielt wird.

Hinweis: Diese Eigenschaft wird von Änderungen am aktuellen Wiedergabestatus von „ AnimatedImage “ beeinflusst. Wenn nicht animierte Bilder verwendet werden, muss „ playing “ manuell auf „ true “ gesetzt werden, damit nachfolgende Bilder animiert werden.

AnimatedImage {
    onStatusChanged: playing = (status == AnimatedImage.Ready)
}

source : url

Diese Eigenschaft enthält die URL, die auf das Quellbild verweist.

AnimatedImage Es können alle von Qt unterstützten Bildformate verarbeitet werden, die über jedes von Qt unterstützte URL-Schema geladen werden. Es ist jedoch nicht kompatibel mit QQuickImageProvider.

sourceSize : size

Diese Eigenschaft enthält die skalierte Breite und Höhe des Vollbildes.

Im Gegensatz zu den Eigenschaften „ width “ und „ height “, die die Darstellung des Bildes skalieren, legt diese Eigenschaft die maximale Anzahl an Pixeln fest, die für zwischengespeicherte Frames gespeichert werden, damit große Animationen nicht mehr Speicherplatz als nötig beanspruchen.

Ist die Originalgröße größer als „ sourceSize “, wird das Bild verkleinert.

Die natürliche Größe des Bildes kann wiederhergestellt werden, indem diese Eigenschaft auf „ undefined “ gesetzt wird.

Hinweis: Eine dynamische Änderung dieser Eigenschaft führt dazu, dass die Bildquelle neu geladen wird – möglicherweise sogar aus dem Netzwerk, falls sie sich nicht im Festplatten-Cache befindet.

Siehe auch „ Image::sourceSize “.

speed : real [since QtQuick 2.11]

Diese Eigenschaft legt die Geschwindigkeit der Animation fest.

Die Geschwindigkeit wird in Prozent der ursprünglichen Geschwindigkeit des animierten Bildes gemessen. Die Standardgeschwindigkeit beträgt 1,0 (ursprüngliche Geschwindigkeit).

Diese Eigenschaft wurde in QtQuick 2.11 eingeführt.

Signal-Dokumentation

[since 6.12] finished()

Dieses Signal wird ausgelöst, wenn die Animation die durch ` loops` festgelegte Anzahl an Wiederholungen abgespielt hat.

Es wird nicht ausgelöst, wenn „ playing “ manuell auf „ false “ gesetzt wurde, und auch nicht bei Animationen, deren Eigenschaft „ loops “ auf „ AnimatedImage.Infinite “ gesetzt ist.

Hinweis: Der entsprechende Handler ist „ onFinished “.

Dieses Signal wurde in Qt 6.12 eingeführt.

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