QT 截屏

实现:截取整个屏幕以后图片保存到指定的地方

 

cpp里添加头文件:

#include <QDesktopWidget>        //桌面部件
#include <QWindow>               //窗口
#include <QScreen>               //屏幕
#include <QPixmap>               //像素图
#include <QFileDialog>           //文件对话框

ui界面拖入一个 push button 控件 ,转到clicked()信号槽,代码如下:

void MyDialog::on_pushButton_clicked()
{
    QWindow window;
    //grabWidow:创建并返回通过抓取由QRect(x,y,width,height)限制的给定窗口的内容构造的像素图。
    QPixmap grab = window.screen()->grabWindow(QApplication::desktop()->winId());

/*
getSaveFileName参数:
参数一:使用给定的父窗口小部件创建模态文件对话框
参数二:对话框窗口标题
参数三:工作目录
参数四:过滤器
*/
    QString fileName = QFileDialog::getSaveFileName(this,tr("save Image"),"/Exercise/",tr("Image(*.png);;Image(*.jpg)"));

    grab.save(fileName);
}

 

grabWindow()函数从屏幕上抓取像素,而不是从窗口抓取像素,即如果有一个部分或完全超过您抓取的窗口的另一个窗口,您也可以从上面的窗口获取像素。 通常不会抓取鼠标光标。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值