2012-04-30 13 views
7

Lavoro a casa mia in Qt Creator, dove dipingo a QWidget e ho bisogno di salvare parte di questo QWdiget.Come creare screenshot di QWidget?

ho cercato di risolvere questo problema:

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

Grazie per l'aiuto.

risposta

13

Per questo è possibile utilizzare QWidget::render. Supponendo che rectangle sia un QRect:

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

Grazie per la risposta. Funziona nella mia immaginazione. – avalagne

+0

come lo si salva in un file? – bachurim09

+0

@ bachurim09: il codice nella domanda lo fa. Si prega di controllare anche i documenti per QPixmap. – Mat