一、环境介绍
QT : 5.12.6
操作系统: win10 x64
编译器: MinGW32
头文件
#include <QScreen> #include <QTimer> connect(&timer, SIGNAL(timeout()), this, SLOT(update())); timer.start(50);
2.1 截取全屏保存为图片
void Form::update() { static int cnt=0; QScreen *screen = QGuiApplication::primaryScreen(); //截取当前桌面全屏画面 screen->grabWindow(0).save(QString("%1.jpg").arg(cnt++)); }
2.2 截取窗口指定位置保存图片
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 截取当前窗口保存为图片
void Form::update() { //截取当前窗口画面.---不能透过窗口截后面 this->grab().save(QString("%1.jpg").arg(cnt++)); }