一、环境介绍
QT : 5.12.6
操作系统: win10 x64
编译器: MinGW32
二、示例代码
头文件
代码语言:javascript复制#include <QScreen>
#include <QTimer>
connect(&timer, SIGNAL(timeout()), this, SLOT(update()));
timer.start(50);
2.1 截取全屏保存为图片
代码语言:javascript复制void Form::update()
{
static int cnt=0;
QScreen *screen = QGuiApplication::primaryScreen();
//截取当前桌面全屏画面
screen->grabWindow(0).save(QString("%1.jpg").arg(cnt ));
}
2.2 截取窗口指定位置保存图片
代码语言:javascript复制void Form::update()
{
static int cnt=0;
QScreen *screen = QGuiApplication::primaryScreen();
QRect rect;
rect.setX(this->mapToGlobal(this->pos()).x());
rect.setY(this->mapToGlobal(this->pos()).y());
rect.setWidth(this->width());
rect.setHeight(this->height());
screen->grabWindow(0,rect.x(),rect.y(),rect.width(),rect.height()).save(QString("%1.jpg").arg(cnt ));//截取当前桌面
}
2.3 截取当前窗口保存为图片
代码语言:javascript复制void Form::update()
{
//截取当前窗口画面.---不能透过窗口截后面
this->grab().save(QString("%1.jpg").arg(cnt ));
}