我正在尝试创建一个使用QGLWidgets的多线程Qt应用程序,并且我不断收到此错误。(我试图使用QPainter从另一个线程绘制)
由于它,我看起来也有很大的内存泄漏。
错误是“QGLContext :: makeCurrent():wglMakeCurrent失败:操作成功完成”
答案 0 :(得分:2)
我认为这与Qt邮件列表中的一个相当古老的问题有关,如here所述。简而言之,如果调用makeCurrent()的线程不等于检索设备上下文的线程,则调用GetDC()。如链接线程中所述,问题是ReleaseDC()没有相应调用,导致句柄泄漏,并且在某些时候触发Windows在GetDC()调用中返回NULL,这使得wglMakeCurrent()失败。但是,我不知道为什么GetLastError()在这种情况下声称“操作成功完成”。