【发布时间】:2015-09-16 20:21:51
【问题描述】:
我正在开发一个在 Mac 上使用 Cocoa 的 Qt 应用程序,并正在使用 PowerVR SDK 在 Mac 桌面上启用 OpenGL ES 2.0。
我设法让它工作,一切都完美呈现,问题是 当我在那个窗口中创建一个小部件时,OpenGL会在它上面渲染,例如 我正在创建一个 QLabel 并在其上呈现,使标签不可见。
我尝试在渲染单个 OpenGL 帧后调用 QLabel 的 repaint() 方法,但这没有帮助。
有没有人遇到过类似的问题,有什么建议?
谢谢!
【问题讨论】:
-
同样的问题,在 windows 下也是。 OpenGL 甚至在工具栏上绘图。
-
我设法让它工作,一切都完美呈现,问题是当我在那个窗口中创建一个小部件时你用什么来创建“那个窗口”?
-
@LukasT 一个扩展QMainWindow的类,基本上就是一个包裹Cocoa的Qt窗口,我把winId()返回的值传给eglCreateWindowSurface
-
@MaxRaskin 好吧,OpenGL 窗口需要 QOpenGLWidget。