【问题标题】:How to capture screenshot of screen casted monitor or TV如何捕获屏幕投射的显示器或电视的屏幕截图
【发布时间】:2021-06-16 15:02:57
【问题描述】:

我无法截取使用屏幕投射连接的显示器的屏幕截图。

QApplication::screens().size();仅返回 1 台已连接的显示器。

如何检测?

【问题讨论】:

    标签: c++ qt screensharing


    【解决方案1】:

    this example about screenshot

    首先,你应该像这样定义一个 QScreen 对象

     QScreen *screen = QGuiApplication::primaryScreen();
    

    然后

     if (const QWindow *window = windowHandle())
      {
        screen = window->screen();
      }
    
      if (!screen)
      {
        return;
      }
    

    那么你的 header(.h) 中应该有 QPixmap 对象,例如 QPixmap _pixmap;

    最后,你应该写这个

      _pixmap = screen->grabWindow(QApplication::desktop()->winId());
    

    当您有另一个监视器时,这意味着您有 2 个窗口 ID。 当使用 QApplication::desktop()->winId() 时,它会同时获取它们。

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      相关资源
      最近更新 更多