如何解决如何捕获屏幕投射监视器或电视的屏幕截图
我无法捕获使用屏幕投射连接的显示器的屏幕截图。
QApplication::screens().size();仅返回 1 个连接的显示器。
如何检测?
解决方法
见this example about screenshot
首先,你应该像这样定义一个 QScreen 对象
QScreen *screen = QGuiApplication::primaryScreen();
然后
if (const QWindow *window = windowHandle())
{
screen = window->screen();
}
if (!screen)
{
return;
}
那么你应该在你的标题(.h)中有 QPixmap 对象,比如 QPixmap _pixmap;
最后,你应该写这个
_pixmap = screen->grabWindow(QApplication::desktop()->winId());
当您有另一个显示器时,这意味着您有 2 个窗口 ID。 当使用 QApplication::desktop()->winId() 时,它会同时得到它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。