Qt-Qt的窗口显示的内容转化为图片

相关资料:

https://blog.csdn.net/can3981132/article/details/51501235

将Qt的窗口显示的内容转化为图片的方法有两种:
第一种是调用QPixmap的静态成员函数
QPixmap grabWidget ( QWidget * widget, const QRect & rectangle )
将widget中的内容绘制到QPixmap中,  rectangle可以控制区域.
第二种方法是调用QWidget的函数
void render ( QPaintDevice * target, const QPoint & targetOffset = QPoint(), const QRegion & sourceRegion = QRegion(), RenderFlags renderFlags = RenderFlags( DrawWindowBackground | DrawChildren ) )
void render ( QPainter * painter, const QPoint & targetOffset = QPoint(), const QRegion & sourceRegion = QRegion(), RenderFlags renderFlags = RenderFlags( DrawWindowBackground | DrawChildren ) ) 
从参数可以看出接收绘制内容的是QPaintDevice,所以这里不仅限于QPixmap。

 1 Widget::Widget(QWidget *parent) :
 2 QWidget(parent),
 3 ui(new Ui::Widget)
 4 {
 5 ui->setupUi(this);
 6 // QPixmap pixmap(ui->tableWidget->size());
 7 // ui->tableWidget->render(&pixmap);
 8 QPixmap pixmap = QPixmap::grabWidget(ui->tableWidget);
 9 ui->label->setPixmap(pixmap);// 最后用一个label将pixmap显示出来
10 }

 


posted on 2021-03-02 17:25  疯狂delphi  阅读(378)  评论(0编辑  收藏  举报

导航