使用Qt 4和Mavericks获得比2.1更高的OpenGL背景

时间:2014-02-23 17:04:40

标签: macos qt opengl qt4 pyside

我在创建比2.1更新的OpenGL上下文时遇到了困难(Mac OS 10.9.1,Qt 4.8.5,PySide 1.2.1)。下面给出了最小的示例代码;它产生2.1上下文而不是3.2或更高。

代码基于this tutorial;在我的机器上运行时,教程的示例C ++代码也会失败。

此问题可能与this bug有关:QGLFormat.openGLVersionFlags()返回0x7f(表示与OpenGL 2.1的兼容性,但不会更晚)。

是否有某些我缺失的东西,或者在修复该错误之前它是否无望?

from PySide import QtGui, QtOpenGL
from OpenGL.GL import *

class Canvas(QtOpenGL.QGLWidget):
    def __init__(self, parent=None):
        format = QtOpenGL.QGLFormat()
        format.setVersion(3, 2)
        format.setProfile(QtOpenGL.QGLFormat.CoreProfile)
        super(Canvas, self).__init__(format, parent)

    def initializeGL(self): print glGetString(GL_VERSION)

    def paintGL(self):      pass

if __name__ == '__main__':
    app = QtGui.QApplication("test")
    canvas = Canvas()
    canvas.show()
    app.exec_()

0 个答案:

没有答案