admin管理员组

文章数量:1612099

激动的心,颤抖的手,终于解决了这个卡了小半年的bug,一直没有找到解决办法。几个月之后,偶然搜到一个大佬写的东西点这,看了之后其实没太懂,不过今天试验成功了,就大概明白了点看了之后没太理解,回公司又去看了一下当初卡住的代码,又试了一下居然成功了,记录一下这个 激动人心的时刻。文章中提到重新实现QGLWidget::paintEvent()和QGLWidget::resizeEvent()以通知渲染线程需要调整大小或进行更新,并注意不要调用基类实现。这句话很关键,我看项目中用不到paintEvent,所以就一直都没去重写,然而就是因为没重写这个,就一直报下面这个错,搞得我头大,opengl真是难搞喔。
在线程中使用opengl时候报错如下所示 ,大概的意思是无法在其他的线程中使用使用当前上下文。(同一时刻context只能在一个线程中使用)
解决办法:
重写QGLWidget::paintEvent()和QGLWidget::resizeEvent()。

最后,再次感谢那个大佬的文章,解决了这个一直留存我心的bug。开心到起飞啦。

本文标签: 线程解决办法时报threadQT