Wichtige Konzepte in Qt Quick - Convenience-Typen
In einer hochdynamischen Benutzeroberfläche wird der Anwendungsentwickler oft auf Ereignisse reagieren und verschiedene Antwortlogiken auslösen wollen. QML verfügt über eine eingebaute Unterstützung für diese Konzepte durch Bindungen, Signale und Signalhandler und dynamische Objektinstanziierung, aber Qt Quick erweitert die von der Sprache bereitgestellte Unterstützung durch verschiedene Convenience-Typen.
Dynamische Objektinstanziierung
QML bietet eine Reihe von Möglichkeiten zur dynamischen Erstellung und Verwaltung von QML-Objekten.
Objekte können auf verschiedene Weise dynamisch aus imperativem JavaScript-Code erstellt werden. Siehe Dynamische QML-Objekterzeugung aus JavaScript für weitere Details.
Qt Quick bietet die Typen Loader, Repeater, ListView, GridView und PathView, die ebenfalls die dynamische Objektverwaltung unterstützen und eine deklarative API bereitstellen.
Weitere Informationen über die Verwendung von dynamischer Instanziierung und Lazy Initialization zur Verbesserung der Anwendungsleistung finden Sie im Performance Guide.
Dynamische Bindungen
Eigenschaftsbindungen sind eine grundlegende Funktion von QML. Normalerweise wird eine Eigenschaft mit ihrer Bindung initialisiert. Der Typ Binding und die Funktion Qt.binding() ermöglichen es dem Client jedoch, Eigenschaften von beliebigen Objekten zur Laufzeit dynamisch zu binden und das Bindungsziel bei Bedarf (oder wenn es verfügbar wird) zu ändern.
Dynamische Signalverbindungen
QML unterstützt dynamische Signalverbindungen durch die connect()
Methode eines Signals. Das Qt Quick Modul bietet den bequemen Typ Connections, der es ermöglicht, eine Signalverbindung mit einem Objekt einzurichten, das nicht Teil der statischen Objekthierarchie ist. Außerdem kann die Verbindung zur Laufzeit dynamisch neu ausgerichtet werden, so dass eine Anwendung je nach Programmzustand unterschiedliche Signalbenachrichtigungen mit unterschiedlichen Funktionen verarbeiten kann.
Durch die Deklaration einer Connections -Instanz kann der Client dynamisch bewirken, dass von einem Objekt ausgesendete Signale Methoden eines anderen Objekts auslösen, und er kann das Verbindungsziel bei Bedarf (oder wenn es verfügbar wird) ändern.
Timer-basierte Ereignisse
Ein weiterer häufiger Anwendungsfall ist die Auslösung von Funktionen innerhalb einer bestimmten Zeitspanne nach Eintreten eines bestimmten Ereignisses. Diese Art von zeitgesteuerten Auslösern wird in Qt Quick durch den Typ Timer unterstützt. Es werden sowohl einmalige als auch wiederkehrende Zeitgeber unterstützt.
© 2025 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.