Auf dieser Seite

Animator QML Type

Ist die Basis für alle QML-Animatoren. Mehr...

Import Statement: import QtQuick
Inherits:

Animation

Inherited By:

OpacityAnimator, RotationAnimator, ScaleAnimator, UniformAnimator, XAnimator, and YAnimator

Eigenschaften

Detaillierte Beschreibung

Animator-Typen sind ein spezieller Typ von Animationen, die direkt auf dem Qt Quick-Szenengraph operieren und nicht auf den QML-Objekten und ihren Eigenschaften wie reguläre Animationstypen. Dies hat den Vorteil, dass Animator-basierte Animationen auf dem Rendering-Thread des Szenegraphs animiert werden können, auch wenn der UI-Thread blockiert ist.

Der Wert der QML-Eigenschaft wird aktualisiert, nachdem die Animation beendet ist. Während die Animation läuft, wird die Eigenschaft nicht aktualisiert.

Die Animator-Typen können wie jeder andere Animationstyp verwendet werden.

Rectangle {
    id: mixBox
    width: 50
    height: 50
    ParallelAnimation {
        ColorAnimation {
            target: mixBox
            property: "color"
            from: "forestgreen"
            to: "lightsteelblue";
            duration: 1000
        }
        ScaleAnimator {
            target: mixBox
            from: 2
            to: 1
            duration: 1000
        }
        running: true
    }
}

Wenn alle Unteranimationen von ParallelAnimation und SequentialAnimation Animator-Typen sind, werden ParallelAnimation und SequentialAnimation ebenfalls als Animator behandelt und wenn möglich auf dem Rendering-Thread des Szenegraphen ausgeführt.

Die Animator-Typen können für Animationen bei Übergängen verwendet werden, sie unterstützen jedoch nicht die Eigenschaft reversible.

Der Animator-Typ kann nicht direkt in einer QML-Datei verwendet werden. Er dient dazu, eine Reihe gemeinsamer Eigenschaften und Methoden bereitzustellen, die für alle anderen Animator-Typen, die von ihm erben, verfügbar sind. Der Versuch, den Typ Animator direkt zu verwenden, führt zu einem Fehler.

Hinweis: Animator-Typen haben keinen Nutzen, wenn eine Rendering-Schleife ohne Threads verwendet wird.

Hinweis: Es wird empfohlen, dass Anwendungen Designs in Betracht ziehen, die auf asynchronen Multi-Thread-Prinzipien basieren, anstatt sich auf Animators zu verlassen, um animierte Inhalte zu zeigen, während teure, blockierende Arbeit auf dem Haupt-Thread (GUI) ausgeführt wird. Verwenden Sie anstelle langer, blockierender Operationen lieber WorkerScript und asynchronous image loading in QML sowie Worker-Threads, parallele Algorithmen, Qt Concurrentund Coroutines in C++, so dass die gesamte Anwendung und die Benutzeroberfläche immer ansprechbar bleiben.

Dokumentation der Eigenschaften

duration : int

Diese Eigenschaft gibt die Dauer der Animation in Millisekunden an.

Der Standardwert ist 250.

easing group

easing.amplitude : real

easing.bezierCurve : list<real>

easing.overshoot : real

easing.period : real

easing.type : enumeration

Gibt die für die Animation verwendete Entspannungskurve an

Um eine Entspannungskurve anzugeben, müssen Sie zumindest den Typ angeben. Für einige Kurven können Sie auch die Amplitude, die Periode und/oder das Überschwingen angeben (weitere Einzelheiten finden Sie nach der Tabelle). Die Standard-Elastizitätskurve ist Easing.Linear.

PropertyAnimation { properties: "y";
                    easing.type: Easing.InOutElastic;
                    easing.amplitude: 2.0;
                    easing.period: 1.5 }

Verfügbare Typen sind:

Easing.LinearEntspannungskurve für eine lineare (t) Funktion: Die Geschwindigkeit ist konstant.Lineare Lockerungskurve
Easing.InQuadAbschwächungskurve für eine quadratische (t^2) Funktion: Beschleunigung von der Geschwindigkeit Null.InQuad Lockerungskurve
Easing.OutQuadBeschleunigungskurve für eine quadratische (t^2)-Funktion: Abbremsung bis zur Geschwindigkeit Null.OutQuad Entspannungskurve
Easing.InOutQuadSteigungskurve für eine quadratische (t^2)-Funktion: Beschleunigung bis zur Hälfte, dann Abbremsen.InOutQuad Entspannungskurve
Easing.OutInQuadEntspannungskurve für eine quadratische (t^2)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigen.OutInQuad Entspannungskurve
Easing.InCubicEntspannungskurve für eine kubische (t^3) Funktion: Beschleunigung von der Geschwindigkeit Null.InCubic Entspannungskurve
Easing.OutCubicAbschwächungskurve für eine kubische (t^3) Funktion: Abbremsen bis zur Geschwindigkeit Null.OutCubic Entspannungskurve
Easing.InOutCubicAbschwächungskurve für eine kubische (t^3)-Funktion: Beschleunigung bis zur Hälfte, dann Abschwächung.InOutCubic Entspannungskurve
Easing.OutInCubicEasing-Kurve für eine kubische (t^3)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigen.OutInCubic Entspannungskurve
Easing.InQuartAbschwächungskurve für eine quartische (t^4) Funktion: Beschleunigung von der Geschwindigkeit Null.InQuart Entspannungskurve
Easing.OutQuartAbschwächungskurve für eine quartische (t^4) Funktion: Abbremsen bis zur Geschwindigkeit Null.OutQuart Entspannungskurve
Easing.InOutQuartEasing-Kurve für eine quartische (t^4)-Funktion: Beschleunigung bis zur Hälfte, dann Abbremsen.InOutQuart Entspannungskurve
Easing.OutInQuartEasing-Kurve für eine quartische (t^4)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigen.OutInQuart Entspannungskurve
Easing.InQuintAbschwächungskurve für eine quintische (t^5) Funktion: Beschleunigung von der Geschwindigkeit Null.InQuint Entspannungskurve
Easing.OutQuintAbschwächungskurve für eine quintische (t^5) Funktion: Abbremsen bis zur Geschwindigkeit Null.OutQuint Lockerungskurve
Easing.InOutQuintAbschwächungskurve für eine quintische (t^5) Funktion: Beschleunigung bis zur Hälfte, dann Abschwächung.InOutQuint-Entspannungskurve
Easing.OutInQuintEasing-Kurve für eine quintische (t^5)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInQuint-Entspannungskurve
Easing.InSineEntspannungskurve für eine Sinusfunktion (sin(t)): Beschleunigung von der Geschwindigkeit Null.InSine Entspannungskurve
Easing.OutSineSteigungskurve einer Sinusfunktion (sin(t)): Abbremsung bis zur Geschwindigkeit Null.OutSine-Entspannungskurve
Easing.InOutSineSteigungskurve einer Sinusfunktion (sin(t)): Beschleunigung bis zur Hälfte, dann Abbremsen.InOutSine-Entspannungskurve
Easing.OutInSineSteigungskurve für eine Sinusfunktion (sin(t)): Abbremsen bis zur Hälfte, dann Beschleunigung.OutInSine-Entspannungskurve
Easing.InExpoSteigungskurve für eine Exponentialfunktion (2^t): Beschleunigung von der Geschwindigkeit Null.InExpo Entspannungskurve
Easing.OutExpoEntspannungskurve einer Exponentialfunktion (2^t): Abbremsung bis zur Geschwindigkeit Null.OutExpo Entspannungskurve
Easing.InOutExpoAbflachungskurve für eine Exponentialfunktion (2^t): Beschleunigung bis zur Hälfte, dann Abbremsen.InOutExpo Entspannungskurve
Easing.OutInExpoEntspannungskurve für eine Exponentialfunktion (2^t): Abbremsen bis zur Hälfte, dann Beschleunigen.OutInExpo Entspannungskurve
Easing.InCircEntspannungskurve für eine Kreisfunktion (sqrt(1-t^2)): Beschleunigung von der Geschwindigkeit Null.InCirc Entspannungskurve
Easing.OutCircEntspannungskurve einer Kreisfunktion (sqrt(1-t^2)): Abbremsung bis zur Geschwindigkeit Null.OutCirc Entspannungskurve
Easing.InOutCircEntspannungskurve für eine Kreisfunktion (sqrt(1-t^2)): Beschleunigung bis zur Hälfte, dann Abbremsen.InOutCirc Entspannungskurve
Easing.OutInCircEntspannungskurve für eine Kreisfunktion (sqrt(1-t^2)): Abbremsen bis zur Hälfte, dann Beschleunigung.OutInCirc Entspannungskurve
Easing.InElasticEntspannungskurve für eine elastische Funktion (exponentiell abklingende Sinuswelle): Beschleunigung von der Geschwindigkeit Null.
Die Spitzenamplitude kann mit dem Amplitudenparameter und die Abklingdauer mit dem Periodenparameter eingestellt werden.
InElastische Lockerungskurve
Easing.OutElasticAbschwächungskurve für eine elastische (exponentiell abklingende Sinusfunktion): Abschwächung auf die Geschwindigkeit Null.
Die Spitzenamplitude kann mit dem Amplitudenparameter und die Abklingzeit mit dem Periodenparameter eingestellt werden.
OutElastic Lockerungskurve
Easing.InOutElasticEntspannungskurve für eine elastische (exponentiell abklingende Sinusfunktion): Beschleunigung bis zur Hälfte, dann Abbremsen.InOutElastische Lockerungskurve
Easing.OutInElasticAbschwächungskurve für eine elastische (exponentiell abklingende Sinusfunktion): Abschwächung bis zur Hälfte, dann Beschleunigung.OutInElastische Lockerungskurve
Easing.InBackEntspannungskurve für eine rückwärts gerichtete (überschießende kubische Funktion: (s+1)*t^3 - s*t^2): Beschleunigung von der Geschwindigkeit Null.InBack-Entspannungskurve
Easing.OutBackAbschwächungskurve für einen Rücken (überschießende kubische Funktion: (s+1)*t^3 - s*t^2) Abschwächung: Abbremsen auf Geschwindigkeit Null.OutBack Entspannungskurve
Easing.InOutBackAbschwächungskurve für einen Rücken (überschießende kubische Funktion: (s+1)*t^3 - s*t^2) Abschwächung: Beschleunigung bis zur Hälfte, dann Abschwächung.InOutBack Entspannungskurve
Easing.OutInBackEntspannungskurve für einen Rückwärtsgang (überschießende kubische Funktion: (s+1)*t^3 - s*t^2), Entspannung nach außen/oben: Verzögerung bis zur Hälfte, dann Beschleunigung.OutInBack Entspannungskurve
Easing.InBounceEntspannungskurve für einen Bounce (exponentiell abklingende parabolische Bounce-Funktion): Beschleunigung von der Geschwindigkeit Null.InBounce Entspannungskurve
Easing.OutBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingende parabolische Bounce-Funktion): Abbremsen auf Geschwindigkeit Null.OutBounce Entspannungskurve
Easing.InOutBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingende parabolische Bounce-Funktion): Beschleunigung bis zur Hälfte, dann Abbremsen.InOutBounce Entspannungskurve
Easing.OutInBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingende Parabelfunktion): Abbremsen bis zur Hälfte, dann Beschleunigung.OutInBounce Entspannungskurve
Easing.BezierSplineBenutzerdefinierte Lockerungskurve, definiert durch die Eigenschaft easing.bezierCurve.

easing.amplitude gilt nur für Bounce- und elastische Kurven (Kurven vom Typ Easing.InBounce, Easing.OutBounce, Easing.InOutBounce, Easing.OutInBounce, Easing.InElastic, Easing.OutElastic, Easing.InOutElastic oder Easing.OutInElastic).

easing.overshoot ist nur anwendbar, wenn easing.type ist: Easing.InBack, Easing.OutBack, Easing.InOutBack oder Easing.OutInBack.

easing.period ist nur anwendbar, wenn easing.type ist: Easing.InElastic, Easing.OutElastic, Easing.InOutElastic oder Easing.OutInElastic.

easing.bezierCurve ist nur anwendbar, wenn easing.type ist: Easing.BezierSpline. Diese Eigenschaft ist eine Liste<real> mit Gruppen von drei Punkten, die eine Kurve von 0,0 bis 1,1 definieren - control1, control2, end point: [cx1, cy1, cx2, cy2, endx, endy, ...]. Der letzte Punkt muss 1,1 sein.

Eine Demonstration der verschiedenen Lockerungseinstellungen finden Sie in den Lockerungskurven.

from : real

Diese Eigenschaft enthält den Startwert für die Animation.

Wenn der Animator innerhalb eines Transition oder Behavior definiert ist, wird dieser Wert standardmäßig auf den Wert gesetzt, der im Startzustand des Transition definiert ist, oder auf den aktuellen Wert der Eigenschaft zum Zeitpunkt der Auslösung des Behavior.

Siehe auch Animation und Übergänge in Qt Quick.

target : QtQuick::Item

Diese Eigenschaft enthält das Zielelement des Animators.

Hinweis: Zielobjekte von Animatoren müssen Item-basierte Typen sein.

to : real

Diese Eigenschaft enthält den Endwert für die Animation.

Wenn der Animator innerhalb eines Transition oder Behavior definiert ist, wird dieser Wert standardmäßig auf den Wert gesetzt, der im Endzustand des Transition definiert ist, oder auf den Wert der Eigenschaftsänderung, die den Behavior ausgelöst hat.

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