Auf dieser Seite

ScaleAnimator QML Type

Der Typ „ScaleAnimator“ animiert den Skalierungsfaktor eines Elements. Mehr...

Import Statement: import QtQuick
Inherits:

Animator

Ausführliche Beschreibung

Animator Typen unterscheiden sich von normalen Animationstypen. Bei Verwendung eines Animators kann die Animation im Render-Thread ausgeführt werden, und der Eigenschaftswert springt nach Abschluss der Animation zum Endwert.

Der Wert von „ Item::scale “ wird aktualisiert, nachdem die Animation beendet ist.

Der folgende Codeausschnitt zeigt, wie ein „ScaleAnimator“ zusammen mit einem „Rectangle“-Element verwendet wird.

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

Es ist auch möglich, das Schlüsselwort „ on “ zu verwenden, um den „ScaleAnimator“ direkt an eine „Item“-Instanz zu binden.

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

Hinweis: Animator -Typen bieten keinen Vorteil, wenn eine nicht-threadbasierte Render-Schleife verwendet wird.

Hinweis: Es wird empfohlen, bei der Entwicklung von Anwendungen auf Multithread- und Asynchronprinzipien zu setzen, anstatt sich auf Animatoren zu verlassen, um animierte Inhalte anzuzeigen, während rechenintensive, blockierende Aufgaben im Haupt- (GUI-)Thread ausgeführt werden. Anstelle von langen, blockierenden Operationen sollten Sie in QML lieber „ WorkerScript “ und „ asynchronous image loading “ sowie in C++ Worker-Threads, parallele Algorithmen Qt Concurrentsowie Coroutinen in C++, um die gesamte Anwendung und die Benutzeroberfläche stets reaktionsfähig zu halten.

Siehe auch Item::transformOrigin und 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.