关闭

qt5 截屏

804人阅读 评论(0) 收藏 举报
分类:

要想在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");
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:60572次
    • 积分:1612
    • 等级:
    • 排名:千里之外
    • 原创:102篇
    • 转载:18篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论