对于我的python程序,我有一个QT用户界面,主要由一个QGLWidget组成,可显示大量的点数(约2000万)。该程序现在运行非常不稳定,几乎不可能调整大小或移动窗口。
所以我尝试使用以下命令在自己的线程中运行QGL小部件的paintGL()
方法:
from thread import start_new_thread
def paintGL(self):
start_new_thread(paintGLThreading,())
def paintGLThreading(self):
glClearColor(0.0, 0.0, 0.0, 1.0)
<OpenGL paint code>
这引发了以下异常:
#Unhandled exception in thread started by <bound method GLWidget.paintGLThreading of <__main__.GLWidget object at 0x00000000043C5F78>>
Traceback (most recent call last):
File "qtWin.py", line 54, in paintGLThreading
glClearColor(0.0, 0.0, 0.0, 1.0)
File "errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src\errorchecker.c:1218)
OpenGL.error.GLError: GLError(
err = 1282,
description = 'Der Vorgang ist ung\xfcltig.',
baseOperation = glClearColor,
cArguments = (0.0, 0.0, 0.0, 1.0)
)
有人可以告诉我该怎么做吗?