QQuickRenderControl OpenGL Beispiel

Zeigt, wie eine Qt Quick Szene in eine Textur gerendert wird, die dann von einem nicht-Quick-basierten OpenGL-Renderer verwendet wird.

Die Qt Quick Szene wird von einer QQuickWindow verwaltet, die auf dem Bildschirm nicht sichtbar ist. Das Rendering zielt vielmehr auf eine OpenGL-Textur und wird über QQuickRenderControl gesteuert.

Der Würfel wird direkt mit OpenGL gerendert, wobei Qt Gui-Enabler wie QWindow, QOpenGLContext, QOpenGLShaderProgram und QOpenGLFunctions verwendet werden. Der Würfel wird mit der Textur texturiert, die der Qt Quick Renderpass ausgibt.

Darüber hinaus wird auch die Weiterleitung von Eingabeereignissen demonstriert. Wenn Sie die linke Maustaste gedrückt halten, wird die Hintergrundfarbe Rectangle über QML-Bindings geändert. In ähnlicher Weise ändert sich die Farbe auch, wenn eine Taste auf der Tastatur gedrückt wird. Dies beweist, dass die von der Anwendung gesendeten "gefälschten" Ereignisse (die auf der Grundlage von Ereignissen auf dem Bildschirm QWindow generiert werden) weitergeleitet und innerhalb der Qt Quick Szene verarbeitet werden.

Beispielprojekt @ code.qt.io

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