Qt qgraphicsview屏幕截图
我有一个用qt5编写的嵌入式主板浏览器应用程序。我需要opengl渲染的应用程序。所以代码如下Qt qgraphicsview屏幕截图,qt,opengl-es,Qt,Opengl Es,我有一个用qt5编写的嵌入式主板浏览器应用程序。我需要opengl渲染的应用程序。所以代码如下 myGraphicsView->setViewport(new QGLWidget(QGLFormat(QGL::NoDepthBuffer |QGL::NoStencilBuffer |QGL::NoSampleBuffers))); 我想拍摄呈现的网页的屏幕截图。我如何获得它。使用QPixmap::grabFrameBuffer和grabWindow进行了操作。但只获得了一个白色屏幕。我在
myGraphicsView->setViewport(new QGLWidget(QGLFormat(QGL::NoDepthBuffer |QGL::NoStencilBuffer |QGL::NoSampleBuffers)));
我想拍摄呈现的网页的屏幕截图。我如何获得它。使用QPixmap::grabFrameBuffer和grabWindow进行了操作。但只获得了一个白色屏幕。我在internet中找到并尝试了,它有效:
//Get the size of your graphicsview
QRect rect = MyGrView->viewport()->rect();
//Create a pixmap the same size as your graphicsview
//You can make this larger or smaller if you want.
QPixmap pixmap(rect.size());
QPainter painter(&pixmap);//QPainter does not support coordinates larger than +/- 32768
//Render the graphicsview onto the pixmap and save it out.
MyGrView->render(&painter, pixmap.rect(), rect);
pixmap.save("C:/1.png","PNG");