我目前正在尝试让 Qt 与我现有的程序一起工作。
我正在使用 SFML 创建我的 OpenGL 渲染上下文并创建窗口。到目前为止,我尝试过的东西总是由 Qt 创建一个单独的窗口,而不是仅仅渲染到现有的上下文中。
有什么方法可以强制 Qt 渲染到已经存在的 OpenGL 上下文?
我没有研究细节,但这已经为 openage 做了。
我认为查看QQuickRenderControl 的文档可能是一个不错的起点。
Qt 想要完全控制窗口和事件循环,所以这是行不通的(除非你付出了很多努力)。您最好的选择是使用 QGLWidget 并用它来模拟 SFML 的事件管理,以便您的应用程序有效地在 Qt 上运行。很有可能将 Qt 小部件渲染到 OpenGL 窗口中(Qt 有一个 OpenGL 小部件后端),但这仍然必须由 Qt 本身管理。