0

我需要定期截屏,但我需要一种方法来忽略打开的应用程序。在屏幕截图中必须出现常规背景,就好像应用程序/窗口没有打开一样。

换句话说,我需要一个没有窗口/应用程序的屏幕截图(这是 presemnt),但会出现此窗口/应用程序背后的内容,而忽略窗口/应用程序。

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

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

QPixmap qPImage = screen->grabWindow(0);

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

(...)

有可能做我需要的吗?

问候亚历克斯

4

1 回答 1

1

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

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

void MainWindow::updateScreenshotPicture()
{
    screenshotBorders->setPic(QPixmap::grabWindow(QApplication::desktop()->winId()));
    show();
}
于 2013-06-11T14:51:01.450 回答