QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么?

简介

本文简略介绍QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么。

目录

QT6 WebEngine是什么?

QT6 WebEngine整体架构是是怎样的?

怎么应用QT6 WebEngine开发QT Widgets 模式的Web浏览器应用程序?

怎么应用QT6 WebEngine开发QT QML模式的 Web浏览器应用程序?

正文

QT6 WebEngine是什么?

Qt WebEngine 模块提供了一个 Web 浏览器引擎,可以轻松地将万维网中的内容嵌入到没有本机 Web 引擎的平台上的 Qt 应用程序中。

Qt WebEngine 提供了C++类和 QML 类型,用于渲染 HTML、XHTML 和 SVG 文档,使用级联样式表 (CSS) 进行样式设置,并使用 JavaScript 编写脚本。

QT6 WebEngine整体架构是是怎样的?

QT WebEngine整体架构图如下所示:

QT WebEngine整体架构
Qt WebEngine核心基于Chromium项目。Chromium提供自己的网络和喷漆引擎,并与其依赖模块紧密地开发在一起。即使不使用QtNetwork堆栈,其设置也可以与Qt WebEngine同步。有关更多详细信息,请参阅代理支持、管理证书、客户端证书和 QWebEngineCookieStore

使用的Chromium版本是当前版本的Qt WebEngine的Qt功能冻结时最新的稳定Chrome版本使用的版本。每个补丁版本都会从较新的Chrome版本中挑选其他安全补丁,在Qt补丁版本冻结之前及时发布的安全补丁将包括在内。如果 Chrome 在我们的发布窗口之外发布了关键修复程序,则会加快下一个补丁版本,以确保在补丁详细信息公开之前发布已打补丁的 Qt WebEngine。

QT WebEngineWidgets模块的架构如下所示:

QT WebEngine Widgets模块

使用 QWebEngineView 类以最简单的方式显示网页。因为它是一个小部件,所以您可以将QWebEngineView嵌入到表单中,并使用其便利功能下载和显示网站。

QWebEngineView 的一个实例有一个 QWebEnginePage。QWebEnginePage 可以有一个 QWebEngineHistory,该历史记录提供对页面导航历史记录和多个在网页上应用操作的 QAction 对象的访问。此外,QWebEnginePage 能够在页面主框架的上下文中运行 JavaScript 代码,并为特定事件(如显示自定义身份验证对话框)启用处理程序的自定义。

每个 QWebEnginePage 都属于一个 QWebEngineProfile,该配置文件可以具有用于指定页面设置的 QWebEngineSettings、用于在页面上运行脚本的 QWebEngineScriptCollection 以及用于访问 Chromium 的 HTTP cookie 的 QWebEngineCookieStore。QWebEnginePage也可以直接指向脚本集合。

对于基于小部件的应用程序,Web 引擎会自动初始化,除非它被放置在插件中。在这种情况下,必须使用 QtWebEngineQuick::initialize 在应用程序主源文件中对其进行初始化。

QT WebEngine (QML)模块的架构如下所示:

QT WebEngine QML模块

WebEngineView QML类型允许Qt Quick应用程序呈现动态Web内容的区域。WebEngineView类型可以与其他QML类型共享屏幕,也可以包含Qt Quick应用程序中指定的全屏。

为了确保 OpenGL 上下文可以在 GUI 和渲染进程之间共享,必须在应用程序主源文件中使用 QtWebEngineQuick::initialize 初始化 Web 引擎。

怎么应用QT6 WebEngine开发QT Widgets 模式的Web浏览器应用程序?

QT6 WebEngine开发QT Widgets 模式的Web浏览器应用程序

运行效果如下:

QT6 WebEngine开发QT Widgets 模式的Web浏览器应用程序

怎么应用QT6 WebEngine开发QT QML模式的 Web浏览器应用程序?

QT6 WebEngine开发QT QML模式的 Web浏览器应用程序


运行效果如下:

QT6 WebEngine开发QT QML模式的 Web浏览器应用程序

总结

本文简略介绍了QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么。

如果您认为这篇文章对您有所帮助,请您一定立即点赞+喜欢+收藏,本文作者将能从您的点赞+喜欢+收藏中获取到创作新的好文章的动力。如果您认为作者写的文章还有一些参考价值,您也可以关注这篇文章的作者。

QT6框架WebEngine模块之WebEngine总体介绍以及WebEngine能做什么?的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  2. 基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

    最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客里面介绍Web开发框架的文章比较少,其实以前在单位工作,80%的时间是做Web开发的,很早就形成 ...

  3. AngularJs学习笔记1——总体介绍

    这周末在家呆了两天,正好中午闲暇时间继续分享Angularjs相关,今天主要分享Angularjs总体介绍及数据绑定部分内容,下面直接进入主题. 1.基本概念: AngularJS是为了克服HTML在 ...

  4. 基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  5. (转)基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

    http://www.cnblogs.com/wuhuacong/p/3281103.html 最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客 ...

  6. TMS320C54x系列DSP的CPU与外设——第2章 TMS320C54x DSP体系结构总体介绍

    第2章 TMS320C54x DSP体系结构总体介绍 本章介绍TMS320C54x DSP体系结构的概况,包括中央处理单元(CPU).存在器和片内外设. C54x DSP采用了高级的改进哈佛结构,用8 ...

  7. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍

    一.系统总体介绍 企业业务管理系统是针对经营企业管理而开发的专业管理软件, 是以“精细管理.过程监控”为设计理念,全面满足企业的信息化管理需求,充分发挥专业.平台.灵活等优点. 集进销存.财务.CRM ...

  8. Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)

    原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip   --> 将其下的 \ ...

  9. 基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)介绍(二)

    基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)介绍(二) 之前文章中给大家说明了下我这个小小的想法,发现还是有不少人的支持和关注.你们的鼓励是对我最大的支持. 我总结了了 ...

  10. (三):C++分布式实时应用框架——系统管理模块

    C++分布式实时应用框架--系统管理模块 上篇:(二): 基于ZeroMQ的实时通讯平台 一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个"封闭"的系统.你不可能 ...

随机推荐

  1. oeasy教您玩转vim - 72 - # 缩写abbreviation

    ​ 缩写abbreviation 回忆上次折叠的细节 这次了解到了:mkview.:loadview 保存和加载视图 可以把当前的状态保存下来 可以在 viewoption 中配置保存选项,设置哪些需 ...

  2. 全网最适合入门的面向对象编程教程:24 类和对象的 Python 实现-异常的捕获与处理:try/except 语句、文件读写示例、Exception 引用

    全网最适合入门的面向对象编程教程:24 类和对象的 Python 实现-异常的捕获与处理:try/except 语句.文件读写示例.Exception 引用 摘要: 本文主要介绍了在使用 Python ...

  3. Golang 高性能 Websocket 库 gws 使用与设计(一)

    前言 大家好这里是,白泽,这期分析一下 golang 开源高性能 websocket 库 gws. 视频讲解请关注B站:白泽talk 介绍 gws:https://github.com/lxzan/g ...

  4. 使用Git bash切换Gitee、GitHub多个Git账号

    使用Git bash切换Gitee.GitHub多个Git账号 ​ Git是分布式代码管理工具,使用命令行的方式提交commit.revert回滚代码.这里介绍使用Git bash软件来切换Gitee ...

  5. 统计平台广告推送工具支持百度、51拉、CNZZ 用法详解

    此软件用于伪造站长统计的搜素关键词,可以模拟百度.360.搜狗等搜索引擎来路 支持自定义刷词次数.多线程支持自定义线程数,速度更快 支持指定网址推广,带来更精确的网站IP来路 一键导入几十万个网站,支 ...

  6. 【Linux】11 RPM & YUM 管理工具 介绍

    rpm包的管理 介绍: 一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中. 它生成具有.RPM扩展名的文件.RPM是RedHat Package Manager(RedHat软件包 ...

  7. 【Windows】使用Dism++打包系统

    目的: 封装自己装好的操作系统,以便后续系统重装提高效率 纯净原生系统需要自己搭建开发环境,许多系统库也没有添加,费劲 网络下的整合包总是参杂些垃圾广告,不如自己封装一个 思路: 利用VMware虚拟 ...

  8. [VS Code扩展]写一个代码片段管理插件(一):介绍与界面搭建

    @ 目录 VS Code扩展机制 项目搭建 创建UI元素 活动栏按钮 主边栏视图 主边栏工具栏按钮 侧边栏右键菜单 编辑器右键菜单 项目地址 [VS Code扩展]写一个代码片段管理插件(一):介绍与 ...

  9. 【转载】 NetworkManager——nmcli命令连接WIFI和创建热点

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u014695839/article/de ...

  10. 朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法

    明明有更好的hash方法 有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点 提前生成部分 hashcode 进行比较 所示代码 public static void Generate ...