头文件
#include "xlsxdocument.h"
#include <QDebug>
#include <QImage>
#include <QGuiApplication>
#include <QScreen>
#include <QPixmap>
主线程截图,截程序运行界面:(this->winId(),0,0,-1,-1);
并把图片发送给xlsx线程,(注意:QImage是类似int的类型量)
void Widget::on_btn_grab_clicked()
{
on_btn_start_test_clicked();
QImage ScreenImg = QGuiApplication::primaryScreen()->grabWindow(this->winId(),0,0,-1,-1).toImage();//将pixmap转换为QImage。
connect(this, &Widget::signal_grab_image, save_excel_thread, &excel_thread::grab_image);
emit signal_grab_image(ScreenImg);
}
xlsx线程,把图片插入到xlsx文件,并保存(注意:每次写完xlsx,都要保存,否则无数据)
void excel_thread::grab_image(QImage screen_image)
{
qDebug() << file_name_data;
QImage screen_image2 = screen_image;
xlsx.insertImage(8,8, screen_image2);
xlsx.saveAs(file_name_data);
}