Exemple OpenGL avec QQuickRenderControl
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.
Qt Quick affiché sous forme de texture sur chaque face" src="images/rendercontrol-opengl-example.jpg" title="Cube 3D avec du contenu Qt Quick affiché sous forme de texture sur chaque face"/>
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é via QQuickRenderControl.
Le cube est rendu directement avec OpenGL, à l’aide d’enables Qt GUI tels que QWindow, QOpenGLContext, QOpenGLShaderProgram et QOpenGLFunctions. Le cube est texturé avec la texture vers laquelle le passage de rendu de Qt Quick envoie ses données.
De plus, le transfert des événements d’entrée de base est également illustré. Lorsque l’on maintient le bouton gauche de la souris enfoncé, la couleur d’arrière-plan Rectangle est modifiée via des 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 à partir des événements provenant de l’ QWindow) sont transmis et traités au sein de la scène Qt Quick.
© 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.