PDA

View Full Version : QPixmap::grabWidget and QPixmap::grabWindow with QGLWidget-derived object



davidthewatson
20th August 2008, 14:55
Hi,

I am using Qt 4.3.4. I am trying to get a screen capture of a QGLWidget-derived object saved to a file. I followed the Qt Screenshot example. However, when I examine the image that I get from the following code:


QPixmap originalPixmap = QPixmap::grabWidget(qglThing);
originalPixmap.save("C:\\example.png", "png");

the image is simply a black box (which would be the bottom layer in my scene graph). Clearly, this doesn't behave the same as Windows alt-print screen mnemonic.

Is there something special that I have to do to grab the QGLWidget-derived image? Is this a bug? Or would I have to use an entirely different method?

Thanks,
David

wysota
21st August 2008, 07:44
I can imagine grabbing GL widget will not work. You might try grabbing the desktop widget and cutting out the interesting part. Otherwise you might need to use QGLFrameBufferObject to render the widget to the buffer and then convert it to an image.