PySide2: QOpenGLContext 'у объекта нет атрибута' functions ' - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь использовать новый 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 не может найти никаких примеров с pyside2, используя QOpenGLWidget, но каждый пример использует QGLWidget, даже если он сохраняется только для обратной совместимости, и вместо него следует использовать новый QOpenGLWidget. Насколько я знаю ...

Может ли кто-нибудь показать мне хороший и минимальный рабочий пример с QOpenGLWidget с pyside2 в python? Или я должен использовать старый QGLWidget?

PySide. версия возвращает: "5.6.0 ~ a1" (что, вероятно, является версией Qt) версия Python: 2.7.15

1 Ответ

0 голосов
/ 14 января 2019

Глядя на один из примеров OpenGL в официальном репозитории, кажется, что вам нужно сначала получить текущий контекст.

QOpenGLContext.currentContext().functions()

Другой проблемой может быть версия, поскольку 5.6 довольно старая. Можете попробовать с последней версией 5.12.0?

...