在Python 3.7上运行OpenGL代码时出现错误

问题描述 投票:0回答:1

我刚刚安装了OpenGL以与Python 3.7和PyQt5配合使用,安装没有任何错误。当我尝试运行OpenGL的PyQt5给定的示例代码时,仅运行1个示例代码,其他所有代码均出错。以下是与每个文件相关的错误:

openglwindow.py

self.m_gl.initializeOpenGLFunctions()

[AttributeError:'NoneType'对象没有属性'initializeOpenGLFunctions']

grabber.py

文件“ src / errorchecker.pyx”,OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError中的第53行

OpenGL.error.GLError:GLError(

err = 1282,

说明= b'无效操作',

baseOperation = glLightfv,

...

hellogl.py

文件“ src / errorchecker.pyx”,OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError中的第53行

OpenGL.error.GLError:GLError(

err = 1282,

说明= b'无效操作',

baseOperation = glGetString,

cArguments =(GL_VENDOR,)

overpainting.py

文件“ src / errorchecker.pyx”,OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError中的第53行

OpenGL.error.GLError:GLError(

err = 1282,

说明= b'无效操作',

baseOperation = glGenLists,

cArguments =(1,),

结果= 0

samplebuffers.py

文件“ src / errorchecker.pyx”,OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError中的第53行

OpenGL.error.GLError:GLError(

err = 1282,

说明= b'无效操作',

baseOperation = glMatrixMode,

cArguments =(GL_PROJECTION,)

我正在使用Windows 10,并且OpenGL版本是3.1。如何解决此问题?

python python-3.x opengl pyqt5 pyopengl
1个回答
0
投票

经过大量搜索,我发现Windows默认情况下使用ANGLE,这是一个在Direct 3D之上实现OpenGL ES的库。

因此,我迫使应用程序使用OpenGL而不是ANGLE

QCoreApplication.setAttribute(Qt.AA_UseDesktopOpenGL)

此外,我使用了Unofficial Windows PyOpenGL Binaries

我从以下两个来源获得了解决方案:

Source 1 - RiverBank Computing

Source 2 - StackOverflow

© www.soinside.com 2019 - 2024. All rights reserved.