AnimatedImage QML Type
Affiche les animations enregistrées sous forme d'une série d'images. En savoir plus...
| Import Statement: | import QtQuick |
| Inherits: |
Énumérations
- FinishBehavior
(since 6.12)
Caractéristiques
- currentFrame : int
- finishBehavior : enumeration
(since 6.12) - frameCount : int
- loops : int
(since 6.12) - paused : bool
- playing : bool
- source : url
- sourceSize : size
- speed : real
(since QtQuick 2.11)
Signaux
- finished()
(since 6.12)
Description détaillée
Le type AnimatedImage étend les fonctionnalités du type Image, permettant ainsi de lire des animations stockées sous forme d'images contenant une série d'images, telles que celles stockées dans des fichiers GIF.
Les informations relatives à l'image actuelle et à la durée totale de l'animation peuvent être obtenues à l'aide des propriétés currentFrame et frameCount. Vous pouvez démarrer, mettre en pause et arrêter l'animation en modifiant les valeurs des propriétés playing et paused.
La liste complète des formats pris en charge peut être obtenue à l’aide de la fonction QMovie::supportedFormats().
Le nombre de fois où l’animation est lue peut être contrôlé à l’aide de la propriété ` loops `. Par défaut, l’animation est lue en boucle indéfiniment. Le signal ` finished ` est émis lorsque l’animation a terminé la lecture du nombre de boucles spécifié.
Exemple d’utilisation
Le code QML suivant montre comment afficher une image animée et obtenir des informations sur son état, telles que l'image en cours et le nombre total d'images. Le résultat est une image animée accompagnée d'un simple indicateur de progression situé en dessous.
Remarque: lorsque les images animées sont mises en cache, chaque image de l'animation est mise en cache.
Définissez cache sur false si vous lisez une animation longue ou volumineuse et que vous souhaitez économiser de la mémoire.
Si les données d’image proviennent d’un périphérique séquentiel (par exemple, un socket), AnimatedImage ne peut effectuer de boucle que si cache est défini sur true.
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"
}
}Voir également BorderImage et Image.
Documentation sur les énumérations
[since 6.12] FinishBehavior
Cette énumération décrit le comportement lorsque l'animation se termine d'elle-même.
| Constante | Description |
|---|---|
AnimatedImage.FinishAtInitialFrame | Lorsque l'animation se termine, elle revient à l'image initiale. Il s'agit du comportement par défaut. |
AnimatedImage.FinishAtFinalFrame | Lorsque l'animation se termine, elle reste sur l'image finale. |
Cette énumération a été introduite dans Qt 6.12.
Documentation de la propriété
currentFrame correspond à l'image actuellement visible. En surveillant les modifications de cette propriété, vous pouvez animer d'autres éléments en même temps que l'image.
frameCount correspond au nombre d'images de l'animation. Pour certains formats d'animation, la propriété « frameCount » n'est pas définie et prend la valeur zéro.
finishBehavior : enumeration [since 6.12]
Cette propriété définit le comportement lorsque l'animation se termine d'elle-même. La valeur par défaut est FinishBehavior.{FinishAtInitialFrame}.
Cette propriété a été introduite dans Qt 6.12.
Voir également FinishBehavior.
loops : int [since 6.12]
Cette propriété indique le nombre de fois où l'animation sera lue.
Une fois l'animation lue ce nombre de fois, elle s'arrêtera automatiquement et le signal « finished » sera émis.
Si cette propriété est définie sur « AnimatedImage.Infinite » (valeur par défaut), l’animation ne s’arrêtera pas d’elle-même.
Si la valeur de « loops » est définie sur « 0 », l’animation ne sera pas lue.
Les valeurs négatives ne sont pas valides.
Cette propriété a été introduite dans Qt 6.12.
paused : bool
Cette propriété indique si l'animation est en pause.
Par défaut, cette propriété est définie sur « false ». Définissez-la sur « true » lorsque vous souhaitez mettre l'animation en pause.
playing : bool
Cette propriété indique si l'image animée est en cours de lecture.
Par défaut, cette propriété est définie sur « true », ce qui signifie que l'animation commencera immédiatement.
Remarque: cette propriété est influencée par les modifications apportées à l'état de lecture actuel de AnimatedImage. Si des images non animées sont utilisées, playing devra être défini manuellement sur true afin d'animer les images suivantes.
AnimatedImage {
onStatusChanged: playing = (status == AnimatedImage.Ready)
}source : url
Cette propriété contient l'URL qui renvoie à l'image source.
AnimatedImage Elle prend en charge tous les formats d'image pris en charge par Qt, chargés à partir de n'importe quel schéma d'URL pris en charge par Qt. Elle n'est toutefois pas compatible avec QQuickImageProvider.
sourceSize : size
Cette propriété contient la largeur et la hauteur mises à l'échelle de l'image en plein format.
Contrairement aux propriétés width et height, qui redimensionnent le rendu de l'image, cette propriété définit le nombre maximal de pixels stockés pour les images mises en cache, afin que les animations volumineuses n'utilisent pas plus de mémoire que nécessaire.
Si la taille d'origine est supérieure à sourceSize, l'image est réduite.
La taille d'origine de l'image peut être rétablie en définissant cette propriété sur ` undefined`.
Remarque : la modification dynamique de cette propriété entraîne le rechargement de la source de l’image, éventuellement depuis le réseau, si celle-ci ne se trouve pas dans le cache disque.
Voir également Image::sourceSize.
speed : real [since QtQuick 2.11]
Cette propriété détermine la vitesse de l'animation.
La vitesse est exprimée en pourcentage de la vitesse d'origine de l'image animée. La vitesse par défaut est 1,0 (vitesse d'origine).
Cette propriété a été introduite dans QtQuick 2.11.
Documentation sur les signaux
[since 6.12] finished()
Ce signal est émis lorsque l'animation a été lue autant de fois que le nombre spécifié par ` loops`.
Il n’est pas émis lorsque playing est défini manuellement sur false, ni pour les animations dont la propriété loops est définie sur AnimatedImage.Infinite.
Remarque : le gestionnaire correspondant est onFinished.
Ce signal a été introduit dans Qt 6.12.
© 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.