我在Mac OS上有一个使用OpenGL绘图和QGLWidget
的Qt应用程序。
在我的MBP上,它可以很好地工作,但是在30英寸的屏幕上尝试时,我注意到有一个窗口大小限制。
如果我将窗口大小增加到某个限制之外,则QGLWidget
的内容就会消失,并且只能看到一些灰色的内存垃圾。
我将代码更改为仅在屏幕上放置QGLWidget
。 repaint event
在每次迭代中将背景设置为黑色。
问题仍然存在:调整窗口小部件的大小时,当窗口小部件的大小达到一定大小时,黑色表面消失并被内存垃圾代替。
有趣的事实:
当我减小窗口大小时,GL表面又恢复了原状
我还有其他几个GL应用程序(不是Qt)在最大化窗口中运行,所以问题不在于OpenGL驱动程序/视频卡
似乎窗口的面积(像素的nr)很重要,如果我使窗口非常宽,则其高度将受到限制,反之亦然,如果将风窗的高度最大化,则宽度必须很小
最佳答案
我发现在使用QGLWidget
而不是QGLFormat(QGL::NoSampleBuffers)
实例化QGLFormat(QGL::SampleBuffers)
时可以解决此问题。
关于c++ - QGLWidget最大尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18413181/