Qt WebEngine模块提供了一个web浏览器引擎,可以很容易地在没有本地web引擎的平台上将万维网内容嵌入到Qt应用程序中。
Qt WebEngine提供了c++类和QML类型,用于呈现HTML、XHTML和SVG文档,使用层叠样式表(CSS)设计样式,并使用JavaScript编写脚本。通过使用HTML元素上的contenteditable属性,用户可以完全编辑HTML文档。
Qt WebEngine架构
Qt WebEngine的功能分为以下模块:
- Qt WebEngine Widgets模块,用于创建基于widget的web应用程序
- Qt WebEngine模块用于创建基于Qt的快速web应用程序
- Qt WebEngine Core用于与Chromium交互的Qt WebEngine核心模块
页面呈现和JavaScript执行从GUI进程分离到Qt WebEngine进程中。如果Qt库被绑定到应用程序中,那么这个库必须与应用程序一起提供。
Qt WebEngine Widgets架构
web引擎视图是Qt WebEngine模块的主要部件组件。它可以在各种应用程序中用于加载web内容。在视图中,web引擎页面包含一个负责web内容、导航链接的历史记录和操作的主框架。视图和页面非常相似,因为它们提供了一组通用函数。
所有页面都属于一个包含共享设置、脚本和cookie的web引擎配置文件。配置文件可以用来将页面彼此隔离。一个典型的用例是用于私有浏览模式的专用配置文件,在这种模式中没有永久保存任何信息。
注意:Qt WebEngine Widgets模块使用Qt Quick场景图将web页面的元素组合到一个视图中。这意味着UI进程需要OpenGL ES 2.0或OpenGL 2.0来进行渲染。
Qt WebEngine架构
Qt WebEngine QML实现包含与Qt WebEngine小部件实现相同的元素,除了没有单独访问的web引擎页面。支持的页面功能集成到web引擎视图中。
Qt WebEngine Core架构
Qt WebEngine核心是基于Chromium项目的。Chromium提供了自己的网络和渲染引擎,并与其相关模块紧密结合在一起开发。
备注: Qt WebEngine基于Chromium, 但是没有包含或使用任何Chrome浏览器的其它服务和插件。 你可以在Chromium项目源代码库查看Chromium和Chrome的区别。
Qt WebEngine过程
Qt WebEngine进程是一个单独的可执行文件,用于呈现web页面和执行JavaScript。这可以减轻安全问题并隔离由特定内容造成的崩溃。
0 评论