首页 > 解决方案 > 如何在 Linux 上使用 Qt 抓取 Window?

问题描述

在 Windows 中,这非常简单:

auto pixmap = qApp->screens().at(0)->grabWindow(QDesktopWidget().winId());

但是grabWindow 不能在linux 上运行。我尝试类似:

QScreen *screen = QGuiApplication::primaryScreen();
auto pixmap = QPixmap::grabWindow(0);

但没有好的结果。

标签: qtprintscreen

解决方案


QScreen *screen = QGuiApplication::primaryScreen();
QPixmap pixmap = screen->grabWindow(0);

如果屏幕有效,应该可以工作。您可以参考Qt Screenshot Example中的 shootScreen 方法


推荐阅读