2012-04-30 19 views
7

Trabajo en mi tarea en Qt Creator, donde pinto para QWidget y necesito guardar una parte de este QWdiget.¿Cómo crear una captura de pantalla de QWidget?

Me trataron de resolver este problema:

QPixmap pixmap; 
pixmap.copy(rectangle); // rectangle is part of QWidget, which I need to save 
pixmap.save("example.png"); 

Gracias por la ayuda.

Respuesta

13

Puede usar QWidget::render para esto. Asumiendo rectangle es un QRect:

QPixmap pixmap(rectangle->size()); 
widget->render(&pixmap, QPoint(), QRegion(rectangle)); 
+1

Gracias por su respuesta. Funciona en mi imaginación – avalagne

+0

¿cómo se guarda en un archivo? – bachurim09

+0

@ bachurim09: el código en la pregunta lo hace. Verifique también los documentos para QPixmap. – Mat

Cuestiones relacionadas