使用QtWebEngine在屏幕外渲染Web内容

我正在尝试移植使用QtWebKit将Web内容呈现为使用QtWebEngine的应用程序的应用程序.

我受限于我可以在架构上改变所以我必须坚持当前渲染页面的方法,捕获到内存缓冲区然后将其移动到另一个过程,其中缓冲区用作OpenGL中的纹理.

我已经尝试通过WebEngine替换WebKit来扩展代码(广义上讲),但API却不同.

任何人都可以告诉我这是否可能?如果是这样,请指出我正确的方向,以说明如何挂钩一切.

最佳答案 是的,API是不同的,用于渲染的代码路径使用场景图(是的,即使对于基于窗口小部件的API).

因此,在这种情况下,它不是WebEngine特定的问题,而是如何从Qt Quick场景中获取像素的问题.这就是Qt 5.4中引入的QQuickRenderControl试图解决的问题.

QtWebEngine在5.4,hopefully fixed in 5.5中执行屏幕外操作时可能会有一些与可见性相关的额外怪癖.

这绝对是QtWebEngine示例未展示的用例,但欢迎提供.

点赞