zoukankan      html  css  js  c++  java
  • Qt5:Qt中屏幕或窗口截图功能的实现

    要想在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");
  • 相关阅读:
    UVA138 Street Numbers(数论)
    UVA11388 GCD LCM(数论)
    POJ1088 滑雪(记忆化搜索)
    POJ1003 Hangover
    POJ1836 Alignment(LIS)
    POJ1062 昂贵的聘礼(最短路)
    POJ3083 Children of the Candy Corn(搜索)
    POJ1068 Parencodings(模拟)
    POJ1573 Robot Motion(模拟)
    POJ2632 Crashing Robots(模拟)
  • 原文地址:https://www.cnblogs.com/wowk/p/3176594.html
Copyright © 2011-2022 走看看