QT软件开发: 截取全屏指定位置当前窗口保存图片
Posted DS小龙哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT软件开发: 截取全屏指定位置当前窗口保存图片相关的知识,希望对你有一定的参考价值。
一、环境介绍
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++));
}
以上是关于QT软件开发: 截取全屏指定位置当前窗口保存图片的主要内容,如果未能解决你的问题,请参考以下文章