如何创建QWidget的截​​图?

时间:2012-04-30 10:07:39

标签: qt save qwidget qpixmap

我在Qt Creator的作业中工作,在那里我画到QWidget,我需要保存这个QWdiget的一部分。

我试图解决这个问题:

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:14)

您可以使用QWidget::render。假设rectangle是QRect:

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

答案 1 :(得分:2)

非常容易:

QPixmap QWidget :: grab(const QRect&rectangle = QRect(QPoint(0,0),QSize(-1,-1)))

s.a .: http://doc.qt.io/qt-5/qwidget.html#grab