Von bereitgestellte C++-Erweiterungspunkte Qt Quick
Alle QML-Anwendungen können von C++ aus erweitert werden, um zusätzliche, in C++-Code implementierte Funktionen zu nutzen oder ein C++-basiertes QML-Plugin bereitzustellen. Das Thema der Erweiterung von QML durch C++ wird in der Dokumentation „QML-Erweiterungen mit C++ schreiben“ behandelt.
Darüber hinaus bietet das Modul „ Qt Quick “ mehrere Erweiterungs- und Integrationspunkte für C++-Entwickler, die spezifisch für dieses Modul sind. Insbesondere ermöglicht es C++-Entwicklern, benutzerdefinierte, von ` QQuickItem` abgeleitete Typen zu erstellen und zu registrieren, die von ` Qt Quick` gerendert werden können. Außerdem stellt es mehrere Szenengraph-bezogene Klassen bereit, mit denen Entwickler ihre eigenen Rendering-Primitive definieren können.
Benutzerdefinierte, von `QQuickItem` abgeleitete Typen
Zwar bietet das Modul „ Qt Quick “ bereits eine umfangreiche Bibliothek visueller Elementtypen für die Verwendung in einer QML-Anwendung, doch möchten manche Entwickler möglicherweise eigene, von `Item` abgeleitete Typen in C++ definieren und diese dem QML-Typsystem zur Verfügung stellen. Der einfachste Weg, dies zu erreichen, ist die Erstellung einer Unterklasse von ` QQuickItem`, dem Basistyp für alle visuellen Typen im Modul „ Qt Quick “. Weitere Details finden Sie in der Dokumentation unter „ QQuickItem “.
Klassen im Zusammenhang mit dem Szenengraphen
Qt Quick 2 nutzt für das Rendering einen speziellen Szenengraphen, der auf Grafik-APIs wie OpenGL ES, OpenGL, Vulkan, Metal oder Direct 3D basiert. Die Verwendung eines Szenengraphen für die Grafik anstelle der traditionellen imperativen Zeichensysteme (QPainter und dergleichen) bedeutet, dass die zu rendernde Szene zwischen den Frames beibehalten werden kann und der vollständige Satz der zu rendernden Primitive bereits vor Beginn des Renderings bekannt ist. Dies eröffnet eine Reihe von Optimierungsmöglichkeiten, wie beispielsweise das Batching der OpenGL-Zeichenaufrufe zur Minimierung von Zustandsänderungen oder das Verwerfen verdeckter Primitive. Die Qt Quick C++ API bietet verschiedene Klassen, mit denen benutzerdefinierte Knoten in C++ erstellt werden können. Weitere Informationen finden Sie in der Dokumentation zumQt Quick -Szenengraphen.
Unterstützung für Pixmaps und Threaded Images
Zwar ermöglicht die QML-Engine QML-Anwendungen das Laden von Bildern aus dem Dateisystem oder aus Netzwerkressourcen, doch benötigen manche Anwendungen möglicherweise die zusätzliche Option, Bilder aus C++-basierten Prozessen zu laden. Dies lässt sich über die Klasse „ QQuickImageProvider “ implementieren, die Unterstützung für das Laden von Pixmaps und Bildanfragen in Threads für QML-Anwendungen bietet. Jede QML-Anwendung, die ein Bild über das spezielle URL-Schema „image:“ anfordert, wird zum Laden des Bildes an einen geeigneten Bildanbieter weitergeleitet.
Weitere Informationen finden Sie in der Dokumentation zu „ QQuickImageProvider “.
© 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.