qt5 截屏

转载 2015年07月07日 18:49:02

要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法:

  1  -- 使用 QPixmap 类

  2  -- 使用 QScreen类

然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和参数却是相同的

都是 grabWindow() 这个函数

所不同的是,QPixmap中的 grabWindow()函数 是静态成员

QScreen中的grabWindow()成员是非静态成员

下面展示两种截屏的方法

QPixmap方法

 

//截屏并保存为 123.jpg
QPixmap::grabWindow(QApplication::desktop()->winId()).save("123","jpg");
/****************************************************************
要注意的是 QApplication::desktop()->winId(),返回的是
要截屏的窗口的ID , 设为0 表示当前桌面 ,截屏时就会截全屏
******************************************************************/

    注:这种方法在Qt5中已经过时 , 应该使用QScreen方法代替

QScreen方法

1 //功能同样是截屏 , 注:QScreen的构造函数是私有的
2 QScreen *screen = QGuiApplication::primaryScreen();
3 screen->grabWindow(0).save("123","jpg");

Qt 截取屏幕的小demo

无代码无真相。我不啰嗦。screenshot.cpp#include "screenshot.h" #include "ui_screenshot.h" Screenshot::Screens...

QT5实现桌面截图

先把实现放出来:

qt 之 QScreen

QScreen 这个类d  *screen = QGuiApplication::primaryScreen();

QScreen

Qt的底层图形引擎是基于帧缓冲(framebuffer)的。在保护模式下,Linux的用户态进程无法像DoS那样使用显卡BIOS提供的中断调用来实现直接刷屏,因此Linux在内核2.2以后采用了帧缓冲...

Qt浅谈之十三:抓图截屏

一、简介        简介 二、运行图 (1)如下图1所示。 三、详解 1、开始 (1)开始 四、总结 (1)本博文只发布部分源码,读者可根据思路来进行定...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Qt5摄像头截图

Qt5中去除了Phono,却而代之的是QtMultimedia,模块提供了许多与多媒体有关的类。                     今天主要使用QCamera类来打开设备和显示图像,以及截图。...
  • zhx6044
  • zhx6044
  • 2013年04月19日 18:25
  • 11086

qt 截屏工具Qscreen Qpixmap

要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法:   1  -- 使用 QPixmap 类   2  -- 使用 QScreen类 然而虽然俩两种方法用到的类不相同,但...
  • hpu11
  • hpu11
  • 2017年06月04日 15:29
  • 561

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:qt5 截屏
举报原因:
原因补充:

(最多只允许输入30个字)