UniformAnimator QML Type
Der Typ UniformAnimator animiert eine Uniform eines ShaderEffect. Mehr...
| Import Statement: | import QtQuick |
| Inherits: |
Eigenschaften
- uniform : string
Detaillierte Beschreibung
Animator Typen unterscheiden sich von normalen Animationstypen. Bei Verwendung eines Animators kann die Animation im Rendering-Thread ausgeführt werden und der Eigenschaftswert springt zum Ende, wenn die Animation abgeschlossen ist.
Der Wert der QML-Eigenschaft, die die Uniform definiert, wird nach Abschluss der Animation aktualisiert.
Der folgende Ausschnitt zeigt, wie ein UniformAnimator zusammen mit einem ShaderEffect Element verwendet werden kann.
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 mit einer Uniform einer ShaderEffect Instanz zu verbinden.
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 haben keinen Nutzen, wenn eine Rendering-Schleife ohne Threads verwendet wird.
Hinweis: Es wird empfohlen, dass Anwendungen Entwürfe in Betracht ziehen, die auf asynchronen Multi-Thread-Prinzipien basieren, anstatt sich auf Animatoren zu verlassen, um animierte Inhalte zu zeigen, während im Haupt-Thread (GUI) kostspielige, blockierende Arbeiten ausgeführt werden. 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.
Siehe auch ShaderEffect und ShaderEffectSource.
Dokumentation der Eigenschaften
uniform : string
Diese Eigenschaft enthält den Namen der Uniform, die animiert werden soll.
Der Wert der Uniform muss sowohl einer Eigenschaft auf dem Ziel ShaderEffect entsprechen als auch eine Uniform des Typs 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.