如何创建QWidget的截​​图?

ava*_*gne 10 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");
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Mat*_*Mat 18

你可以用QWidget::render它.假设rectangle是QRect:

QPixmap pixmap(rectangle->size()); 
widget->render(&pixmap, QPoint(), QRegion(rectangle));
Run Code Online (Sandbox Code Playgroud)

  • 简而言之,那就是:`pixmap.save("Hello.jpg");`文档位于http://qt-project.org/doc/qt-5.0/qtgui/qpixmap.html. (2认同)

Val*_*itz 8

来自QWidget::Grab

QPixmap QWidget::grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1)))
Run Code Online (Sandbox Code Playgroud)