1

我正在寻找一个简单的基于 QT 的 Web 浏览器,它带有一个 gstreamer 后端,作为更复杂程序的概念验证。这个想法是让 QWebView 渲染到 gstreamer 缓冲区,这些缓冲区将由 gstreamer 根据提供的参数显示或流式传输。

但是,我对 QT 很陌生,我不清楚如何让 QWebView 呈现到我选择的后端。任何提示将不胜感激。

4

1 回答 1

1

事实证明这并不难。给定一个 GstBuffer * in buf 来填写:

QApplication app;
QWebView web;
web.load(QUrl("www.google.ca"));
web.resize(1024,768);
GstMapInfo inf;
if( !gst_buffer_map(buf,&inf,GST_MAP_WRITE) )
  GST_ERROR("Couldn't map output buffer for writing!");
else
  { QImage img
      ( inf.data
      , 1024, 768
      , 1024*sizeof(uint32)
      , QImage::Format_xRGB
      );

    web.render(&img);   // render our webpage to our image buffer;
    app.processEvents();
    gst_buffer_unmap(buf,&inf);
    return buf;
  }
于 2013-12-06T19:45:34.110 回答