Roson讲Qt #13 捕获屏幕图像并保存为图片_通过qt在图像上绘制并保存_Allen Roson的博客-程序员宅基地

技术标签: Qt保存屏幕图像为图片  Qt捕获屏幕图像并保存为图片  QT  Qt截屏  

1.基础用法

#include "QtWidgetsApplication9.h"
#include "QScreen"
#include "QRect"
#include "QPixmap"


QtWidgetsApplication9::QtWidgetsApplication9(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(OnBtnClicked()));
}

void QtWidgetsApplication9::OnBtnClicked()
{
    //获取主屏幕
    QScreen *mainScreent = QApplication::primaryScreen();

    //获取屏幕所占区域大小
    QRect rect = mainScreent->geometry();

    //获取主屏幕上rect区域内的图像
    QPixmap pixmap = mainScreent->grabWindow(0, rect.x(), rect.y(), rect.width(), rect.height());

    //获取exe所在路径   D:\03.TestCode\QtExample\QtWidgetsApplication9\Debug
    QString strFilePath = QCoreApplication::applicationDirPath();
    strFilePath.append("/test.jpg");

    //保存到本地
    pixmap.save(strFilePath);
}

点击按钮后就会自动保存为图片

下面是保存后的图片

2.如何只获取屏幕部分区域的图像?

直接指定要获取的区域即可:

QPixmap pixmap = mainScreent->grabWindow(0, 0, 0, 200, 200);

 

3.如果接了多个显示器,如何获取非主显示器的画面

    //获取所有的屏幕
    QList<QScreen *> listScreen = QApplication::screens();
    for (int i = 0;i < listScreen.size();i++)
    {
        //获取屏幕所占区域大小
        QRect rect = listScreen[i]->geometry();

        //获取屏幕上rect区域内的图像
        QPixmap pixmap = listScreen[i]->grabWindow(0, 0, 0, 200, 200);
    }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jolin678/article/details/119933080

智能推荐

ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息_qwert9016的博客-程序员宅基地

简介上一篇http://www.iteye.com/topic/15317介绍了ActiveMQ5.0的安装,这一篇将介绍的配置。ActiveMQ包含了很多features(详见http://activemq.apache.org/features.html ), 不同的需求,不同的环境,需要不同的features,当然需要不同的配置。在这里我只写了最基本的配置,算是抛砖了,希望引

学python的一些体会_python陈斌讲的好吗_byakki的博客-程序员宅基地

零基础学python也快有两个月了,总得记下点什么目前接触过的,自己有的学习资料介绍:learnpython3thehardway 英文版笨方法学python3,对零基础挺友好,只是全英文,看得累。网上好像也没有中文版电子书,可以参照python2的笨方法学习MOOC的北大陈斌老师的python基础课强烈推荐,由浅入深,还有很多习题,测验,还有QQ群,直播答疑MOO..._python陈斌讲的好吗

界面c:foreach输出合并相同行_spp_1987的博客-程序员宅基地

对于界面数据相同列,需要合并,利用c标签 来判断,需要合并和出现td位置如下:&lt;c:if test="${(s.index+rowspanInt)%rowspanInt==0 }"&gt;&lt;td rowspan="${rowspanInt }"&gt;${item[16] }年&lt;/td&gt;&lt;/c:if&gt;rowspanInt是需要合并的列数,这里...

基于机器学习的归一化操作来加快深度神经网络的训练速度_幻风_huanfeng的博客-程序员宅基地

数据的归一化操作数据的归一化操作是数据处理的一项基础性工作,在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表示的,数据样本的不同特征可能会有不同的尺度,这样的情况会影响到数据分析的结果。为了解决这个问题,需要进行数据归一化处理。原始数据经过数据归一化后,各特征处于同一数量级,适合进行综合对比评价。我们可以将归一化操作进行可视化:左图表示的是原始数据,右图是归一化之后的数据,可以看出每个特征维度上的尺度是一致的(红色箭头的长度表示尺度)。0均值归一化方法我们常用的归一化

Linux 内核的五大创新_study-linux的博客-程序员宅基地

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大物。 撇开营销和模式不谈,Linux 可以说是开源世界中最受欢迎的内核,它在近 30 年的生命时光当中引入了一些真正的规则改变者。 Cgroups(2.6.24)早在 2007 年,Paul Mena...

从txt文件中读入数据_如何读十条txt文本查找对应数字_Lesel的博客-程序员宅基地

目录1. 使用文件流从txt文本中读数据到矩阵中2.使用文件流从txt文本中读入一行数据到c[10]3. 待学习链接1. 使用文件流从txt文本中读数据到矩阵中#include &lt;iostream&gt;#include &lt;fstream&gt;using namespace std; /* run this program using the c..._如何读十条txt文本查找对应数字

随便推点

BPM应用——安码中国签约山东瑞康_ultimus2014的博客-程序员宅基地

近日,安码(中国)流程研发中心(Ultimus PDC)正式签约山东瑞康医药股份有限公司。  为解决山东瑞康医药股份有限公司人力资源部门流程优化、协同办公及公司移动办公全面深入应用等问题,安码(中国)流程研发中心将基于Ultimus BPM平台为其搭建业务流程应用系统;实施包括:财人力资源、账单核对流程、移动办公系统、OA办公等在内的多个应用系统及业务流程,并基于现有平台逐步 对企业核心业务流

容器中rc.local,login shell, systemctl微妙关系_Tab609的博客-程序员宅基地

背景:假设有这么一个需求:容器中能使用systemctl操作和查看服务状态容器启动时需获取运行容器时传入环境变量实践出真理我们先写一个获取环境变量的简单shell脚本# file name: env.sh#!/usr/bashecho "get container envs" &gt;&gt; /tmp/env# 通过linux命令获取环境变量然后重定向到...

P1007 独木桥(洛谷)_c++洛谷p1007 独木桥_䮵籪的博客-程序员宅基地

题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳11个人通过。假如有22个人相向而行在桥上相遇,那么他们22个人将无妨绕过对方,只能有11个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。题目描述突然,你收到从指挥部发来的信息,敌军的轰炸机正朝着你所在的独木桥飞来!为了安全,你的部队必须撤下_c++洛谷p1007 独木桥

学习跨平台移动应用开发必须理解的一些概念_什么是native开发_cug-jdc的博客-程序员宅基地

跨平台移动应用开发概念移动应用开发分类Native appWeb appHybrid app三者的区别关于native.js的理解典型跨平台移动APP开发框架H5与H5+H5 appH5+ appuni-app移动应用开发分类Native app即原生APP开发模式,利用iOS、Android开发平台官方提供的开发工具进行APP的开发。具有以下特点:功能多:可以访问手机的所有功能,如定位、GPS、摄像头等。速度快、性能高、整体用户体验好。离线使用:若App内部涉及到大量的视频、图片等信息,在流_什么是native开发

Python 字符串处理常用函数_python中字符串的处理函数_xyp_8023的博客-程序员宅基地

Python处理字符串有很多常用函数判断某子串是否在字符串里:1. 使用成员操作符inStr = 'Hello, world!\n'sStr = '\n'result = sStr in Strprint(result) # True2. 使用字符串的find()、index()火count()方法Str = 'Hello, world!\n'sStr = '\..._python中字符串的处理函数

终身学习:哈佛毕业后的六堂课_职场爱学习的博客-程序员宅基地

抓住当下,能做什么,想做什么,赶快动手。因为鲁莽之中也蕴藏着能量与魔力。——歌德美国著名的比较神话学大师约瑟夫·坎贝尔在几十年的学术生涯中研究了许多国家的神话和文化,构建了独树一帜的神话学体系,启发并深刻影响了全世界的几代学人。他追溯了全世界几乎所有神话系统中与英雄历险相关的故事,发现他们都有一个共同点,他将其称为“英雄的征途”。这个征途大致分四个阶段:第一阶段,遇到问题,比如恶龙侵犯英雄所在的家园;第二阶段,寻找恶龙,英雄得单枪匹马踏上征途,独自进入一个未知的世界;第三阶段,经过种种考验,英雄终于击败恶

推荐文章

热门文章

相关标签