Qt WebEngine概述

 Qt WebEngine
时间:

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 评论