OpenGL在Qt中绘制小部件

时间:2015-09-16 07:46:05

标签: c++ qt opengl-es

我正在开发一个在Mac上使用Cocoa并使用PowerVR SDK在Mac桌面上启用OpenGL ES 2.0的Qt应用程序。

我设法让它工作,一切都完美呈现,问题是 当我在该窗口中创建一个小部件时,OpenGL会对其进行渲染,例如 我正在创建一个QLabel并对其进行渲染,使标签不可见。

我尝试在渲染单个OpenGL帧后调用QLabel的repaint()方法,但这没有帮助。

是否有人遇到此类或类似问题并有任何建议?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您希望窗口小部件与OpenGL内容互操作,则必须使用QOpenGLWidget。它绘制到一个屏幕外缓冲区,然后与窗口小部件合成。

或者,您必须自己将标签渲染为纹理,并将纹理应用于四边形。