raspbian-lite pyqt openglwidget和opengl错误

问题描述

我尝试在带有python3.5的Ubuntu16.04上的以下代码正常工作。但是,当我尝试使用raspBerrypi4时,它不起作用。我得到那个错误

initializeGL中的文件“ /home/pi/modbus-sw/Views/elevator_gl_widget.py”,第13行 glEnable(GL_LIGHT0) 在第58行的文件“ src / errorchecker.pyx” OpenGL_accelerate.errorchecker._ErrorChecker.glCheckerror OpenGL.error.GLError:GLError( 错误= 1280, description = b'无效的枚举数', baSEOperation = glEnable, cArguments =(GL_LIGHT0,) ) 中止

使用raspbian-lite作为操作系统(python3.7)的RaspBerrypi4。我将Xorg服务器安装到raspbian-lite,然后自行启动。

export disPLAY =:0.0

/ usr / bin / Xorg -depth 24&

当我使用Qpainter并将“ glBegin(GL_TEXTURE_2D)”添加到initializeGL函数的开头时,它可以工作,但是,当我尝试缩放或翻译opengl窗口时,它无法清除屏幕,一遍又一遍地写。

class ElevatorGLWidget(qopenglwidget):
def __init__(self,parent=None):
    qopenglwidget.__init__(self,parent)
    self.timer = QTimer(self)

def initializeGL(self):
    GL_TEXTURE_2D
    glEnable(GL_DEPTH_TEST)
    glEnable(GL_LIGHT0)
    glEnable(GL_LIGHTING)
    glColorMaterial(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE)
    glEnable(GL_COLOR_MATERIAL)

def paintGL(self):
    glMatrixMode(GL_PROJECTION)
    glClearColor(0.0,0.0,0.0)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    glColor3f(1.0,0.0)
    glBegin(GL_TRIANGLES)
    glVertex3f(-0.5,-0.5,0.0)
    glVertex3f(0.5,0.5,0.0)
    glVertex3f(0.0,0.0)
    glEnd()

def resizeGL(self,width,height):
    glViewport(0,height)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)