在 Windows 中,这非常简单:
auto pixmap = qApp->screens().at(0)->grabWindow(QDesktopWidget().winId());
但是grabWindow 不能在linux 上运行。我尝试类似:
QScreen *screen = QGuiApplication::primaryScreen();
auto pixmap = QPixmap::grabWindow(0);
但没有好的结果。
在 Windows 中,这非常简单:
auto pixmap = qApp->screens().at(0)->grabWindow(QDesktopWidget().winId());
但是grabWindow 不能在linux 上运行。我尝试类似:
QScreen *screen = QGuiApplication::primaryScreen();
auto pixmap = QPixmap::grabWindow(0);
但没有好的结果。
QScreen *screen = QGuiApplication::primaryScreen();
QPixmap pixmap = screen->grabWindow(0);
如果屏幕有效,应该可以工作。您可以参考Qt Screenshot Example中的 shootScreen 方法