SmoothedAnimation QML Type

Ermöglicht es einer Eigenschaft, einen Wert reibungslos zu verfolgen. Mehr...

Import Statement: import QtQuick
Inherits:

NumberAnimation

Eigenschaften

Detaillierte Beschreibung

Eine SmoothedAnimation animiert den Wert einer Eigenschaft zu einem festgelegten Zielwert unter Verwendung einer vierfachen Lockerungskurve. Wenn sich der Zielwert ändert, werden die Lockerungskurven, die zur Animation zwischen dem alten und dem neuen Zielwert verwendet werden, sanft zusammengefügt, um eine sanfte Bewegung zum neuen Zielwert zu erzeugen, die die aktuelle Geschwindigkeit beibehält.

Das folgende Beispiel zeigt, wie ein Rectangle die Position eines anderen mit SmoothedAnimation verfolgt. Die Werte des grünen Rechtecks x und y sind an die Werte des roten Rechtecks gebunden. Immer wenn sich diese Werte ändern, bewegt sich das grüne Rechteck sanft zu seiner neuen Position:

import QtQuick

Rectangle {
    width: 800; height: 600
    color: "blue"

    Rectangle {
        width: 60; height: 60
        x: rect1.x - 5; y: rect1.y - 5
        color: "green"

        Behavior on x { SmoothedAnimation { velocity: 200 } }
        Behavior on y { SmoothedAnimation { velocity: 200 } }
    }

    Rectangle {
        id: rect1
        width: 50; height: 50
        color: "red"
    }

    focus: true
    Keys.onRightPressed: rect1.x = rect1.x + 100
    Keys.onLeftPressed: rect1.x = rect1.x - 100
    Keys.onUpPressed: rect1.y = rect1.y - 100
    Keys.onDownPressed: rect1.y = rect1.y + 100
}

Eine SmoothedAnimation kann konfiguriert werden, indem die velocity, bei der die Animation stattfinden soll, oder die duration, die die Animation dauern soll, festgelegt werden. Wenn sowohl velocity als auch duration angegeben werden, wird für jede Änderung des Zielwerts derjenige Wert gewählt, der die schnellste Animation ergibt.

Beispielsweise dauert die Animation von 0 auf 800 4 Sekunden, wenn eine Geschwindigkeit von 200 eingestellt ist, 8 Sekunden, wenn eine Dauer von 8000 eingestellt ist, und 4 Sekunden, wenn sowohl eine Geschwindigkeit von 200 als auch eine Dauer von 8000 eingestellt sind. Die Animation von 0 bis 20000 dauert 10 Sekunden, wenn eine Geschwindigkeit von 200 eingestellt ist, 8 Sekunden, wenn eine Dauer von 8000 eingestellt ist, und 8 Sekunden, wenn sowohl eine Geschwindigkeit von 200 als auch eine Dauer von 8000 eingestellt ist.

Die Standard-Geschwindigkeit von SmoothedAnimation beträgt 200 Einheiten/Sekunde. Wenn der Bereich des zu animierenden Wertes klein ist, muss die Geschwindigkeit entsprechend angepasst werden. Die Deckkraft eines Elements reicht beispielsweise von 0 bis 1,0. Um eine flüssige Animation in diesem Bereich zu ermöglichen, muss die Geschwindigkeit auf einen Wert wie 0,5 Einheiten/Sekunde eingestellt werden. Eine Animation von 0 bis 1,0 mit einer Geschwindigkeit von 0,5 dauert 2000 ms.

Wie jeder andere Animationstyp kann eine geglättete Animation auf verschiedene Weise angewendet werden, z. B. mit Übergängen, Verhaltensweisen und Eigenschaftswertquellen. Die Dokumentation Animation und Übergänge in Qt Quick zeigt eine Vielzahl von Methoden zur Erstellung von Animationen.

Siehe auch SpringAnimation, NumberAnimation, Animation und Übergänge in Qt Quick, und Qt Quick Beispiele - Animation.

Eigenschaft Dokumentation

duration : int

Diese Eigenschaft enthält die Animationsdauer in Millisekunden, die beim Verfolgen der Quelle verwendet wird.

Der Wert -1 (Standardeinstellung) deaktiviert den Wert für die Dauer.

Wenn sowohl der Wert für die Geschwindigkeit als auch der Wert für die Dauer aktiviert sind, wird für die Animation der Wert mit der kürzeren Dauer verwendet.


maximumEasingTime : int

Diese Eigenschaft gibt die maximale Zeit in Millisekunden an, die alle "Eases" während der Verfolgung dauern sollen. Die Einstellung dieser Eigenschaft bewirkt, dass die Geschwindigkeit nach einer gewissen Zeit "abflacht". Wird ein negativer Wert eingestellt, kehrt man zum normalen Modus der Abschwächung über die gesamte Animationsdauer zurück.

Der Standardwert ist -1.


reversingMode : enumeration

Legt fest, wie sich SmoothedAnimation verhält, wenn eine Animationsrichtung umgekehrt wird.

Mögliche Werte sind:

KonstantBeschreibung
SmoothedAnimation.Eased(Standardwert) die Animation wird sanft abgebremst und dann die Richtung umgekehrt
SmoothedAnimation.Immediatedie Animation beginnt sofort mit einer Beschleunigung in die umgekehrte Richtung, beginnend mit einer Geschwindigkeit von 0
SmoothedAnimation.Syncdie Eigenschaft wird sofort auf den Zielwert gesetzt

velocity : real

Diese Eigenschaft enthält die durchschnittliche Geschwindigkeit, die bei der Verfolgung des "bis"-Werts zulässig ist.

Die Standard-Geschwindigkeit von SmoothedAnimation beträgt 200 Einheiten/Sekunde.

Wird der Wert auf -1 gesetzt, wird der Geschwindigkeitswert deaktiviert.

Wenn sowohl der Wert für die Geschwindigkeit als auch der Wert für die Dauer aktiviert sind, wird für die Animation der Wert mit der kürzeren Dauer verwendet.


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