Auf dieser Seite

Animator QML Type (Uncreatable)

Ist die Basis aller QML-Animatoren. Mehr...

Import Statement: import QtQuick
Inherits:

Animation

Inherited By:

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

Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.

Eigenschaften

Ausführliche Beschreibung

Animator-Typen sind eine spezielle Art von Animationen, die direkt auf dem Szenengraphen von Qt Quick agieren und nicht, wie herkömmliche Animationstypen, auf den QML-Objekten und deren Eigenschaften. Dies hat den Vorteil, dass Animator-basierte Animationen auf dem Rendering-Thread des Szenengraphen ausgeführt werden können, selbst wenn der UI-Thread blockiert ist.

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

Die Animator-Typen können genau 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 ` vom Typ „Animator“ sind, werden auch ` ParallelAnimation ` und ` SequentialAnimation ` als „Animator“ behandelt und, sofern möglich, auf dem Rendering-Thread des Szenengraphen ausgeführt.

Die „Animator“-Typen können für Animationen während Übergängen verwendet werden, 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 verfügbar sind, die von ihm erben. Der Versuch, den Animator-Typ direkt zu verwenden, führt zu einem Fehler.

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

Hinweis: Es wird empfohlen, dass Anwendungen auf Multithread- und asynchrone Prinzipien basierende Entwürfe in Betracht ziehen, 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 jederzeit reaktionsfähig zu halten.

Dokumentation zu Eigenschaften

duration : int

Diese Eigenschaft gibt die Dauer der Animation in Millisekunden an.

Der Standardwert beträgt 250.

easing group

easing.amplitude : real

easing.bezierCurve : list<real>

easing.overshoot : real

easing.period : real

easing.type : enumeration

Legt die für die Animation verwendete Beschleunigungskurve fest

Um eine Beschleunigungskurve festzulegen, müssen Sie mindestens den Typ angeben. Bei einigen Kurven können Sie zusätzlich Amplitude, Periode und/oder Überschwingen festlegen (weitere Details finden Sie nach der Tabelle). Die Standard-Beschleunigungskurve ist „ Easing.Linear “.

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

Verfügbare Typen sind:

Easing.LinearBeschleunigungskurve für eine lineare (t)-Funktion: Die Geschwindigkeit ist konstant.Lineare Beschleunigungskurve
Easing.InQuadBeschleunigungskurve für eine quadratische (t²) Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InQuad-Abflachungskurve
Easing.OutQuadBeschleunigungskurve für eine quadratische (t²) Funktion: Abbremsung bis zur Geschwindigkeit Null.OutQuad-Verzögerungskurve
Easing.InOutQuadBeschleunigungskurve für eine quadratische (t^2) Funktion: Beschleunigung bis zur Hälfte, dann Verzögerung.InOutQuad-Beschleunigungskurve
Easing.OutInQuadBeschleunigungskurve für eine quadratische (t^2)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInQuad-Beschleunigungskurve
Easing.InCubicEasing-Kurve für eine kubische (t³) Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InCubic-Beschleunigungs- und Verzögerungskurve
Easing.OutCubicEasing-Kurve für eine kubische (t³) Funktion: Abbremsen auf Nullgeschwindigkeit.OutCubic-Beschleunigungskurve
Easing.InOutCubicEasing-Kurve für eine kubische (t³) Funktion: Beschleunigung bis zur Hälfte, dann Abbremsung.InOutCubic-Beschleunigungskurve
Easing.OutInCubicEasing-Kurve für eine kubische (t³) Funktion: Verzögerung bis zur Hälfte, dann Beschleunigung.OutInCubic-Beschleunigungskurve
Easing.InQuartEasing-Kurve für eine quartische (t^4) Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InQuart-Easing-Kurve
Easing.OutQuartEasing-Kurve für eine Funktion vierten Grades (t^4): Abbremsen auf Geschwindigkeit Null.OutQuart-Easing-Kurve
Easing.InOutQuartEasing-Kurve für eine quartische (t^4) Funktion: Beschleunigung bis zur Hälfte, dann Abbremsung.InOutQuart-Easing-Kurve
Easing.OutInQuartEasing-Kurve für eine Funktion vierter Ordnung (t^4): Verzögerung bis zur Hälfte, dann Beschleunigung.OutInQuart-Easing-Kurve
Easing.InQuintEasing-Kurve für eine Funktion fünfter Ordnung (t^5): Beschleunigung ausgehend von der Geschwindigkeit Null.InQuint-Abklingkurve
Easing.OutQuintEasing-Kurve für eine Funktion fünften Grades (t^5): Abbremsen auf Geschwindigkeitswert Null.OutQuint-Abklingkurve
Easing.InOutQuintEasing-Kurve für eine Funktion fünfter Potenz (t^5): Beschleunigung bis zur Hälfte, dann Abbremsung.InOutQuint-Beschleunigungskurve
Easing.OutInQuintEasing-Kurve für eine Funktion fünfter Potenz (t^5): Abbremsen bis zur Hälfte, dann Beschleunigung.OutInQuint-Beschleunigungskurve
Easing.InSineEasing-Kurve für eine sinusförmige (sin(t)) Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InSine-Beschleunigungskurve
Easing.OutSineEasing-Kurve für eine sinusförmige (sin(t)) Funktion: Abbremsen auf Geschwindigkeit Null.OutSine-Beschleunigungskurve
Easing.InOutSineEasing-Kurve für eine sinusförmige (sin(t)) Funktion: Beschleunigung bis zur Hälfte, dann Abbremsung.InOutSine-Beschleunigungskurve
Easing.OutInSineEasing-Kurve für eine sinusförmige (sin(t)) Funktion: Verzögerung bis zur Hälfte, dann Beschleunigung.OutInSine-Beschleunigungskurve
Easing.InExpoBeschleunigungs- und Abbremskurve für eine exponentielle (2^t) Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InExpo-Abflachungskurve
Easing.OutExpoEasing-Kurve für eine exponentielle (2^t)-Funktion: Abbremsen auf Geschwindigkeit Null.OutExpo-Abklingkurve
Easing.InOutExpoEasing-Kurve für eine exponentielle (2^t)-Funktion: Beschleunigung bis zur Hälfte, dann Verzögerung.InOutExpo-Abklingkurve
Easing.OutInExpoBeschleunigungs- und Abbremskurve für eine exponentielle (2^t)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigen.OutInExpo-Abklingkurve
Easing.InCircÜberblendkurve für eine zirkuläre (sqrt(1-t^2))-Funktion: Beschleunigung ausgehend von der Geschwindigkeit Null.InCirc-Abflachungskurve
Easing.OutCircEasing-Kurve für eine zirkuläre (sqrt(1-t^2))-Funktion: Abbremsen auf Nullgeschwindigkeit.OutCirc-Abklingkurve
Easing.InOutCircEasing-Kurve für eine zirkuläre (sqrt(1-t^2))-Funktion: Beschleunigung bis zur Hälfte, dann Verlangsamung.InOutCirc-Beschleunigungskurve
Easing.OutInCircEasing-Kurve für eine zirkuläre (sqrt(1-t^2))-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInCirc-Beschleunigungskurve
Easing.InElasticEasing-Kurve für eine elastische Funktion (exponentiell abklingende Sinuswelle): Beschleunigung ausgehend von der Geschwindigkeit Null.
Die Spitzenamplitude lässt sich mit dem Parameter „amplitude“ einstellen, die Abklingdauer mit dem Parameter „period “.
InElastische Beschleunigungskurve
Easing.OutElasticEasing-Kurve für eine elastische (exponentiell abklingende Sinuswelle): Abbremsen auf Nullgeschwindigkeit.
Die Spitzenamplitude lässt sich mit dem Parameter „amplitude“ einstellen, die Abklingdauer mit dem Parameter „period “.
OutElastic-Beschleunigungskurve
Easing.InOutElasticEasing-Kurve für eine elastische (exponentiell abklingende Sinuswelle): Beschleunigung bis zur Hälfte, dann Abbremsung.InOutElastic-Beschleunigungskurve
Easing.OutInElasticEasing-Kurve für eine elastische (exponentiell abklingende Sinuswelle)-Funktion: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInElastic-Beschleunigungskurve
Easing.InBackEasing-Kurve für eine „Back“-Funktion (kubische Funktion mit Überschwingen: (s+1)*t^3 - s*t^2) mit Einlauf: Beschleunigung ausgehend von der Geschwindigkeit Null.InBack-Abklingkurve
Easing.OutBackEasing-Kurve für eine „Back“-Funktion (kubische Funktion mit Überschwingen: (s+1)*t^3 - s*t^2) beim Auslaufen: Abbremsen bis auf Nullgeschwindigkeit.OutBack-Abflachungskurve
Easing.InOutBackEasing-Kurve für eine „Back“-Funktion (kubische Funktion mit Überschwingen: (s+1)*t^3 - s*t^2) beim Ein- und Ausblenden: Beschleunigung bis zur Hälfte, dann Verzögerung.InOutBack-Abflachungskurve
Easing.OutInBackEasing-Kurve für einen Rücklauf (kubisches Easing mit Überschwingen: (s+1)*t^3 - s*t^2) mit Ein- und Auslauf: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInBack-Auslaufkurve
Easing.InBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingender parabolischer Bounce): Beschleunigung ausgehend von der Geschwindigkeit Null.InBounce-Abklingkurve
Easing.OutBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingender parabolischer Bounce): Abbremsen bis zur Geschwindigkeit Null.OutBounce-Abklingkurve
Easing.InOutBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingender parabolischer Bounce) mit Ein-/Ausblenden: Beschleunigung bis zur Hälfte, dann Verzögerung.InOutBounce-Beschleunigungskurve
Easing.OutInBounceEasing-Kurve für eine Bounce-Funktion (exponentiell abklingender parabolischer Bounce) mit Ein-/Ausblenden: Abbremsen bis zur Hälfte, dann Beschleunigung.OutInBounce-Beschleunigungskurve
Easing.BezierSplineBenutzerdefinierte Easing-Kurve, 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 gilt nur, wenn „ easing.type “ einer der folgenden Werte ist: „ Easing.InBack “, „ Easing.OutBack “, „ Easing.InOutBack “ oder „ Easing.OutInBack “.

easing.period gilt nur, wenn „easing.type“ einer der folgenden Werte ist: Easing.InElastic, Easing.OutElastic, Easing.InOutElastic oder Easing.OutInElastic.

easing.bezierCurve gilt nur, wenn „easing.type“ einer der folgenden Werte ist: „ Easing.BezierSpline “. Diese Eigenschaft ist eine Liste <real>, die Gruppen von drei Punkten enthält, die eine Kurve von 0,0 bis 1,1 definieren – Kontrollpunkt 1, Kontrollpunkt 2, Endpunkt: [cx1, cy1, cx2, cy2, endx, endy, ...]. Der letzte Punkt muss 1,1 sein.

Eine Demonstration der verschiedenen Easing-Einstellungen finden Sie unter „Easing-Kurven “.

from : real

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

Wenn der Animator innerhalb eines „ Transition “ oder „ Behavior “ definiert ist, entspricht dieser Wert standardmäßig dem im Startzustand des „ Transition “ definierten Wert oder dem aktuellen Wert der Eigenschaft zum Zeitpunkt der Auslösung des „ Behavior “.

Siehe auch „Animationen und Übergänge“ unter Qt Quick.

target : QtQuick::Item

Diese Eigenschaft enthält das Zielobjekt des Animators.

Hinweis: Animator -Ziele müssen auf Elementen basierende Typen sein.

to : real

Diese Eigenschaft enthält den Endwert der Animation.

Wenn der Animator innerhalb eines „ Transition “ oder „ Behavior “ definiert ist, entspricht dieser Wert standardmäßig dem im Endzustand des „ Transition “ definierten Wert oder dem 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.