我正在尝试将使用 QtWebKit 的应用程序移植到使用 QtWebEngine 的应用程序上。
我在架构上可以更改的内容有限,因此我必须坚持当前渲染页面的方法,捕获到内存缓冲区,然后将其移动到缓冲区用作 OpenGL 中的纹理的不同进程。
我已经尝试通过用 WebEngine 替换 WebKit 来移植代码(广义地说),但是 API 是不同的。
谁能告诉我这是否可能?如果是这样,请指出我正确的方向,以说明如何连接所有内容。
我正在尝试将使用 QtWebKit 的应用程序移植到使用 QtWebEngine 的应用程序上。
我在架构上可以更改的内容有限,因此我必须坚持当前渲染页面的方法,捕获到内存缓冲区,然后将其移动到缓冲区用作 OpenGL 中的纹理的不同进程。
我已经尝试通过用 WebEngine 替换 WebKit 来移植代码(广义地说),但是 API 是不同的。
谁能告诉我这是否可能?如果是这样,请指出我正确的方向,以说明如何连接所有内容。
是的,API 不同,用于渲染的代码路径使用场景图(是的,即使是基于小部件的 API)。
所以在这种情况下,它不是 WebEngine 特定的问题,而是如何从 Qt Quick 场景中获取像素的问题。这就是Qt 5.4 中引入的QQuickRenderControl试图解决的问题。
QtWebEngine在5.4中进行屏幕外操作时可能会有一些与可见性相关的额外怪癖,但希望在5.5中得到修复。
这绝对是QtWebEngine示例未演示的用例,但欢迎贡献。