QT软件开发: 截取全屏、指定位置、当前窗口保存图片

简介: 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++));//截取当前桌面
}

image.png

2.3 截取当前窗口保存为图片

void Form::update()
{
    //截取当前窗口画面.---不能透过窗口截后面
    this->grab().save(QString("%1.jpg").arg(cnt++));
}


目录
相关文章
|
5天前
|
计算机视觉 C++
基于Qt的简易图片浏览器设计与实现
基于Qt的简易图片浏览器设计与实现
47 1
|
5天前
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
87 0
|
5天前
|
存储 容器
QT中QListWidget实现QListWidgetItem图片和文字居中
在使用QT开发软件的过程中,很多时候使用QListWidget来实现列表项的功能,比如MS系统的功能模块菜单,如下面2张图所示,其中第一张图是带文字和图标的列表项,第二张图是纯图标的模式,在最近开发的平台客户端的某个功能模块都用上了。
244 0
|
5天前
Qt 布局管理之 停靠窗口QDockWidget
Qt 布局管理之 停靠窗口QDockWidget
80 0
|
5天前
Qt 布局管理之分割窗口
Qt 布局管理之分割窗口
41 0
|
5天前
Qt3个窗口类的区别
一个普通的窗口,不包含菜单栏、状态栏,除了登录界面,新建项目时建议使用QWidget,因为大部分的窗口可能都要做成无边框窗口,需要自定义标题栏,实现拉伸等;QMainWindow使用的场景不多。:对话框,常用来做登录窗口、弹出窗口(例如设置界面):包含菜单栏、工具栏、状态栏。
39 0
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
Qt 窗口常用位置API函数 & 绘图原理 & 双缓冲机制 总结
|
5天前
QT取消标题栏,如何实现窗口移动
QT取消标题栏,如何实现窗口移动
|
5天前
|
测试技术 API UED
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
74 1
|
5天前
|
算法 API 开发者
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
174 1

推荐镜像

更多