截取没有特定程序窗口的截图

时间:2013-06-11 13:14:23

标签: c++ qt screenshot

我需要采用常规屏幕截图,但我需要一种方法来忽略打开的应用程序。在屏幕截图中,必须显示常规背景,就像应用程序/窗口未打开一样。

换句话说,我需要一个没有窗口/ aplication(这是presemnt)的截图,但是出现了这个窗口/ aplication背后的内容,忽略了window / ap。

对于获取屏幕截图,我在QT / c ++中有以下代码:

(...)
QScreen *screen = QGuiApplication::primaryScreen();

QPixmap qPImage = screen->grabWindow(0);

QImage qImg = qPImage.toImage();//convert to qImage

(...)

有可能做我需要的吗?

此致 亚历克斯

1 个答案:

答案 0 :(得分:1)

可能不是完美的解决方案,但这是我在完全相同的情况下所做的:

void MainWindow::onUpdateClicked()
{
    hide();
    QTimer::singleShot(45, this, SLOT(updateScreenshotPicture()));
}

void MainWindow::updateScreenshotPicture()
{
    screenshotBorders->setPic(QPixmap::grabWindow(QApplication::desktop()->winId()));
    show();
}