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");

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM