Exemple de QQuickRenderControl OpenGL

Montre comment effectuer le rendu d'une scène Qt Quick dans une texture qui est ensuite utilisée par un moteur de rendu OpenGL non basé sur Quick.

La scène Qt Quick est gérée par un QQuickWindow qui n'est pas visible à l'écran. Le rendu cible plutôt une texture OpenGL et est contrôlé par QQuickRenderControl.

Le cube est rendu directement avec OpenGL, en utilisant les outils Qt GUI tels que QWindow, QOpenGLContext, QOpenGLShaderProgram, et QOpenGLFunctions. Le cube est texturé avec la texture vers laquelle la passe de rendu de Qt Quick sort.

En outre, un transfert d'événements d'entrée de base est également démontré. Lorsque le bouton gauche de la souris est maintenu enfoncé, la couleur d'arrière-plan de Rectangle est modifiée par le biais de liaisons QML. De même, le fait de maintenir une touche du clavier enfoncée modifie également la couleur. Cela prouve que les "faux" événements envoyés par l'application (générés sur la base des événements de l'écran QWindow) sont transmis et traités dans la scène Qt Quick.

Exemple de projet @ code.qt.io

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