Sur cette page

Points d'extension C++ fournis par Qt Quick

Toutes les applications QML peuvent être étendues à partir de C++ afin d'utiliser des fonctionnalités supplémentaires mises en œuvre dans le code C++ ou de fournir un plugin QML basé sur C++. Ce sujet de l'extension de QML à partir de C++ est couvert dans la documentation Writing QML Extensions with C++ (écrire des extensions QML avec C++ ).

En outre, le module Qt Quick fournit plusieurs points d'extension et d'intégration pour les développeurs C++, spécifiques à ce module. Il permet notamment aux développeurs C++ de créer et d'enregistrer des types personnalisés dérivés de QQuickItem qui peuvent être rendus par Qt Quick. Il fournit également plusieurs classes liées au graphe de scène qui permettent aux développeurs de définir leurs propres primitives de rendu.

Types dérivés de QQuickItem définis par l'utilisateur

Bien que le module Qt Quick fournisse déjà une riche bibliothèque de types d'éléments visuels à utiliser dans une application QML, certains développeurs peuvent souhaiter définir leurs propres types dérivés d'éléments en C++ et les exposer au système de types QML. La manière la plus simple de procéder est de sous-classer QQuickItem, qui est le type de base pour tous les types visuels dans le module Qt Quick. Voir la documentation de QQuickItem pour plus de détails.

Qt Quick 2 utilise un graphe de scène dédié basé sur des API graphiques telles que OpenGL ES, OpenGL, Vulkan, Metal ou Direct 3D pour son rendu. L'utilisation d'un graphe de scène pour les graphiques plutôt que les systèmes de peinture impératifs traditionnels (QPainter et similaires) signifie que la scène à rendre peut être conservée entre les images et que l'ensemble complet des primitives à rendre est connu avant le début du rendu. Cela ouvre la voie à un certain nombre d'optimisations, telles que la mise en lot des appels de dessin OpenGL pour minimiser les changements d'état ou l'élimination des primitives obscurcies. Le module Qt Quick C++ API fournit diverses classes permettant de créer des nœuds personnalisés en C++. Voir la documentation de Qt Quick Scene Graph pour plus de détails.

Prise en charge des images Pixmap et Threaded

Bien que le moteur QML permette aux applications QML de charger des images à partir du système de fichiers ou des ressources du réseau, certaines applications peuvent nécessiter l'option supplémentaire de charger des images à partir de processus basés sur C++. Cette option peut être mise en œuvre grâce à la classe QQuickImageProvider, qui prend en charge le chargement de pixmaps et les requêtes d'images threadées pour les applications QML. Toute application QML qui demande une image par l'intermédiaire de l'URL spéciale "image :" sera dirigée vers un fournisseur d'images approprié pour charger l'image.

Pour plus d'informations, voir la documentation 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.