我需要捕获具有OpenGL内容的小部件的屏幕截图(使用Qt5.5下的SoQt 1.5.0类),并将其保存到QImage。到目前为止我尝试过的是:
问题似乎位于此if条件中(在Qt4.8下使用QGLWidget :: grabFrameBuffer()并且我们尝试迁移到Qt5.5):
if(dynamic_cast<QGLWidget*>(rendererCourant->getNormalWidget()))
{
((QGLWidget*)rendererCourant->getNormalWidget())->updateGL();
_image = ((QGLWidget*)(rendererCourant->getNormalWidget()))->grabFrameBuffer();
}
有人对此事有暗示吗?
答案 0 :(得分:0)
你可以做的一件事就是打电话:
auto fb = QOpenGLWidget->defaultFramebufferObject();
这应该是然后QOpenGLWidget将绘制到的帧缓冲,然后你使用OpenGL来获取你需要的东西。