Auf dieser Seite

SmoothedAnimation QML Type

Ermöglicht es einer Eigenschaft, einen Wert stufenlos nachzuverfolgen. Mehr...

Import Statement: import QtQuick
Inherits:

NumberAnimation

Eigenschaften

Ausführliche Beschreibung

Eine „SmoothedAnimation“ animiert den Wert einer Eigenschaft unter Verwendung einer „Ease-In/Ease-Out“-Quad-Beschleunigungskurve auf einen festgelegten Zielwert. Wenn sich der Zielwert ändert, werden die Beschleunigungskurven, die zur Animation zwischen dem alten und dem neuen Zielwert verwendet werden, sanft miteinander verbunden, um eine gleichmäßige Bewegung zum neuen Zielwert zu erzeugen, bei der die aktuelle Geschwindigkeit beibehalten wird.

Das folgende Beispiel zeigt eine „ Rectangle “, die mithilfe von „SmoothedAnimation“ die Position einer anderen „ “ nachverfolgt. Die Werte für „ x “ und „ y “ des grünen Rechtecks sind an die des roten Rechtecks gebunden. Wann immer sich diese Werte ändern, wird das grüne Rechteck sanft an seine neue Position animiert:

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“ lässt sich konfigurieren, indem entweder die „ velocity “ festgelegt wird, bei der die Animation stattfinden soll, oder die „ duration “, die die Animation durchlaufen soll. Wenn sowohl „ velocity “ als auch „ duration “ angegeben sind, wird bei jeder Änderung des Zielwerts diejenige gewählt, die zur schnellsten Animation führt.

Beispielsweise dauert eine Animation von 0 auf 800 bei einer Geschwindigkeit von 200 4 Sekunden, bei einer Dauer von 8000 8 Sekunden und bei einer Geschwindigkeit von 200 und einer Dauer von 8000 ebenfalls 4 Sekunden. Eine Animation von 0 auf 20.000 dauert 10 Sekunden, wenn eine Geschwindigkeit von 200 eingestellt ist, 8 Sekunden bei einer Dauer von 8.000 und 8 Sekunden, wenn sowohl eine Geschwindigkeit von 200 als auch eine Dauer von 8.000 eingestellt sind.

Die Standardgeschwindigkeit von „SmoothedAnimation“ beträgt 200 Einheiten/Sekunde. Beachten Sie, dass die Geschwindigkeit entsprechend angepasst werden muss, wenn der Bereich des zu animierenden Werts klein ist. Beispielsweise reicht die Deckkraft eines Objekts von 0 bis 1,0. Um eine flüssige Animation in diesem Bereich zu ermöglichen, muss die Geschwindigkeit auf einen Wert wie beispielsweise 0,5 Einheiten/Sekunde eingestellt werden. Eine Animation von 0 auf 1,0 mit einer Geschwindigkeit von 0,5 dauert 2.000 ms.

Wie jeder andere Animationstyp kann eine „SmoothedAnimation“ auf verschiedene Weise angewendet werden, unter anderem in Übergängen, Verhaltensweisen und als Quelle für Eigenschaftswerte. Die Dokumentation „Animation and Transitions“ unter Qt Quick zeigt eine Vielzahl von Methoden zum Erstellen von Animationen.

Siehe auch „ SpringAnimation“ , „ NumberAnimation “, „Animation and Transitions in Qt Quick “ sowie „Qt Quick Examples – Animation“.

Dokumentation zu den Eigenschaften

duration : int

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

Wird dieser Wert auf -1 gesetzt (Standardwert), wird der Dauerwert deaktiviert.

Sind sowohl der Geschwindigkeitswert als auch der Dauerwert aktiviert, wird für die Animation derjenige Wert verwendet, der die kürzere Dauer ergibt.

maximumEasingTime : int

Diese Eigenschaft legt die maximale Dauer in Millisekunden fest, die alle „Easing-Effekte“ während des Follow-Effekts dauern sollen. Durch das Festlegen dieser Eigenschaft wird die Geschwindigkeit nach einer bestimmten Zeit „abgeflacht“. Durch das Festlegen eines negativen Werts wird zum normalen Modus zurückgekehrt, bei dem das Easing über die gesamte Animationsdauer hinweg erfolgt.

Der Standardwert ist -1.

reversingMode : enumeration

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

Mögliche Werte sind:

KonstantBeschreibung
SmoothedAnimation.Eased(Standard) Die Animation wird sanft abgebremst und kehrt dann die Richtung um
SmoothedAnimation.ImmediateDie Animation beginnt sofort, in die entgegengesetzte Richtung zu beschleunigen, beginnend mit einer Geschwindigkeit von 0
SmoothedAnimation.SyncDie Eigenschaft wird sofort auf den Zielwert gesetzt

velocity : real

Diese Eigenschaft enthält die zulässige Durchschnittsgeschwindigkeit bei der Verfolgung des „to“-Werts.

Die Standardgeschwindigkeit von „ SmoothedAnimation “ beträgt 200 Einheiten/Sekunde.

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

Sind sowohl der Geschwindigkeitswert als auch der Zeitwert aktiviert, verwendet die Animation den Wert, der die kürzere Dauer ergibt.

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