PySide2:QOpenGLContext'对象没有属性'functions'

时间:2018-11-03 11:20:43

标签: python python-2.7 pyside2

我正在尝试将新的QOpenGLWidget与PySide2一起使用,并在一开始就遇到了此错误。

PySide2: QOpenGLContext' object has no attribute 'functions'

我从c ++转换为文档中最简单的示例: https://doc.qt.io/qtforpython/PySide2/QtWidgets/QOpenGLWidget.html

def initializeGL(self):
    ctx =  QOpenGLContext.currentContext()
    gl = ctx.functions()
    gl.glClearColor(1.0, 1.0, 1.0, 1.0)

A使用QOpenGLWidget找不到pyside2的任何示例,但是每个示例都使用QGLWidget,即使仅出于向后兼容而保留它,而使用新的QOpenGLWidget shoudl。据我所知...

有人可以给我展示一个在pyside2中使用python的QOpenGLWidget的良好且最小的工作示例吗?还是我应该使用旧的QGLWidget?

PySide。版本返回:“ 5.6.0〜a1”(可能是Qt版本) python版本:2.7.15

1 个答案:

答案 0 :(得分:1)

查看官方存储库中的OpenGL examples之一,似乎您需要首先获取当前上下文。

QOpenGLContext.currentContext().functions()

另一个问题可能是版本,因为5.6已经很老了。您可以尝试使用最新的5.12.0版本吗?