Sur cette page

ScaleAnimator QML Type

Le type `ScaleAnimator` permet d'animer le facteur d'échelle d'un élément. En savoir plus...

Import Statement: import QtQuick
Inherits:

Animator

Description détaillée

Animator Les types d'animation sont différents des types d'animation normaux. Lorsque vous utilisez un Animator, l'animation peut être exécutée dans le thread de rendu et la valeur de la propriété passe directement à la fin une fois l'animation terminée.

La valeur de ` Item::scale ` est mise à jour une fois l'animation terminée.

L'extrait de code suivant montre comment utiliser un ScaleAnimator avec un élément Rectangle.

Rectangle {
    id: scalingBox
    width: 50
    height: 50
    color: "lightsteelblue"
    ScaleAnimator {
        target: scalingBox;
        from: 0.5;
        to: 1;
        duration: 1000
        running: true
    }
}

Il est également possible d’utiliser le mot-clé ` on ` pour lier directement le `ScaleAnimator` à une instance d’`Item`.

Rectangle {
    width: 50
    height: 50
    color: "lightsteelblue"
    ScaleAnimator on scale {
        from: 0.5;
        to: 1;
        duration: 1000
    }
}

Remarque : les typesd’Animator ne présentent aucun avantage lorsqu’une boucle de rendu non multithread est utilisée.

Remarque : il est recommandé aux applications d’opter pour des conceptions basées sur des principes multithread et asynchrones, plutôt que de s’appuyer sur des animateurs pour afficher du contenu animé tout en effectuant des tâches coûteuses et bloquantes sur le thread principal (GUI). Au lieu d’opérations longues et bloquantes, privilégiez l’utilisation de ` WorkerScript ` et ` asynchronous image loading ` en QML, ainsi que des threads de travail, des algorithmes parallèles Qt Concurrentet les coroutines en C++, afin de garantir à tout moment la réactivité de l’application et de l’interface utilisateur.

Voir également Item::transformOrigin et RotationAnimator.

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