Auf dieser Seite

UniformAnimator QML Type

Der Typ „UniformAnimator“ animiert eine Uniform eines „ ShaderEffect “. Mehr...

Import Statement: import QtQuick
Inherits:

Animator

Eigenschaften

Ausführliche Beschreibung

Animator Diese 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 der QML-Eigenschaft, die das Uniform definiert, wird nach Abschluss der Animation aktualisiert.

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

ShaderEffect {
    id: shader
    width: 50
    height: 50
    property variant t;
    UniformAnimator {
        target: shader
        uniform: "t"
        from: 0
        to: 1
        duration: 1000
        running: true
    }
    fragmentShader: "qrc:shader.frag.qsb"
}

Es ist auch möglich, das Schlüsselwort „ on “ zu verwenden, um den „UniformAnimator“ direkt an ein Uniform einer „ ShaderEffect “-Instanz zu binden.

ShaderEffect {
    width: 50
    height: 50
    property variant t;
    UniformAnimator on t {
        from: 0
        to: 1
        duration: 1000
    }
    fragmentShader: "qrc:shader.frag.qsb"
}

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

Hinweis: Es wird empfohlen, dass Anwendungen auf Multithreading und asynchronen 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.

Siehe auch ShaderEffect und ShaderEffectSource.

Dokumentation zu den Eigenschaften

uniform : string

Diese Eigenschaft enthält den Namen der Uniform, die animiert werden soll.

Der Wert des Uniforms muss sowohl einer Eigenschaft auf dem Ziel- ShaderEffect entsprechen als auch ein Uniform vom Typ „ float “ im Fragment- oder Vertex-Shader sein.

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