QT4和QT5中的截图

//this->m_pixMap = QPixmap::grabWindow(QApplication::desktop()->winId(), 0, 0, -1, -1);
//this->m_pixMap = QWidget::grab(QRect( QPoint( 0, 0 ), QSize( -1, -1 ) ));
QScreen* screen = QGuiApplication::primaryScreen();
this->m_pixMap = screen->grabWindow(QApplication::desktop()->winId(), 0, 0, -1, -1);

使用QWidget::grab再QT5中会有警告
this function is deprecated, use QScreen::grabWindow() instead. Defaulting to primary screen.

使用第二种只截取当前App的界面,非桌面全屏
使用第三种没有警告,且截取的是桌面全屏

参考 Qt5和Qt4的简单截屏;

原文地址:https://www.cnblogs.com/kuikuitage/p/12818741.html