Я перехожу с Winpython3.4.3.7Qt4 на Winpython3.x.x.xQt5 (я перепробовал несколько версий), и у меня возникла следующая проблема:
Следующий минимальный код (он ничего не может использовать, но демонстрирует ошибку):
from PyQt5 import QtWidgets
import OpenGL.GL as gl
from PyQt5.QtOpenGL import QGLWidget
qapp = QtWidgets.QApplication([])
window = QGLWidget()
window.makeCurrent()
index = gl.glGenLists(1)
print(index)
работает на всех моих машинах с Winpython3.4.3.7Qt4 и печатает '1'. Когда я использую Winpython3.x.x.xQt5, он больше не работает на моих виртуальных машинах. Я получаю ошибку:
Traceback (most recent call last):
File ".\opengl.py", line 12, in <module>
index = gl.glGenLists(1)
File "C:\Winpython-64bit-3.6.7.0\python-3.6.7\lib\site-packages\OpenGL\platform\baseplatform.py", line 405, in __call__
return self( *args, **named )
File "C:\Winpython-64bit-3.6.7.0\python-3.6.7\lib\site-packages\OpenGL\error.py", line 232, in glCheckError
baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glGenLists,
cArguments = (1,),
result = 0
)
У меня такое ощущение, что window.makeCurrent () не открывается, но я понятия не имею, почему. Что изменилось в этом отношении с Qt4 на Qt5?