Qt中实现屏幕或窗口(控件)截图功能

QT 专栏收录该内容
18 篇文章 2 订阅

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

  1  -- 使用 QPixmap 类

  2  -- 使用 QScreen类

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

所不同的是

QPixmap中的 grabWindow()函数 是静态成员

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

这两种方法:都需要包含所需要的相应的头文件

下面展示两种截屏的方法

QPixmap方法

//截屏并保存为 1.jpg

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

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

QScreen方法

功能同样是截屏 , 注:QScreen的构造函数是私有的

QScreen *screen = QGuiApplication::primaryScreen();
screen->grabWindow(0).save("1","jpg");

/******************************************************************
要注意的是 QApplication::desktop()->winId(),返回的是
要截屏的窗口的ID , 设为0 表示当前桌面 ,截屏时就会截全屏
******************************************************************/

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

 

参考:https://blog.csdn.net/hpu11/article/details/72859154

  • 1
    点赞
  • 1
    评论
  • 4
    收藏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值