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. abc--cf训练日常总结

    ABC 最近遇到好多思维和位运算的题目不会做,特地过来总结一些小小的知识点. 思维题目 https://atcoder.jp/contests/abc353/tasks/abc353_c 这道题目要求 ...

  2. .NET周刊【7月第3期 2024-07-21】

    国内文章 给博客园的寄语 https://www.cnblogs.com/jingc/p/18307859 作者是一名39岁的大龄C#开发程序员,对博客园的艰难处境深感触动,并购买会员支持.回顾他与博 ...

  3. Asp .Net Core 系列:详解授权以及实现角色、策略、自定义三种授权和自定义响应

    什么是授权(Authorization)? 在 ASP.NET Core 中,授权(Authorization)是控制对应用资源的访问的过程.它决定了哪些用户或用户组可以访问特定的资源或执行特定的操作 ...

  4. SemanticKernel/C#:检索增强生成(RAG)简易实践

    检索增强生成(RAG)是什么? RAG是"Reference-based Generative model with Attention"的缩写,也可以被称为"Retri ...

  5. GeoScene Enterprise 3.1 临时许可更新

    Portal许可更新 portal 的许可更新很简单,直接打开Portal在线更新就好了 平台管理 -> 许可管理 -> 附加许可 -> 导入许可 -> 选择文件(选择授权的j ...

  6. 【SQL】 Excel 批量编写SQL脚本

    参考地址: https://zhuanlan.zhihu.com/p/134290191 有两种办法: 第一种,使用 & 拼接符号处理 ="INSERT INTO `my-info` ...

  7. 【SpringCloud】Re03 Feign

    Feign是一个声明式的HttpClient?更简洁的实现Http请求发送 安装Feign组件: 配置Feign的依赖坐标: <?xml version="1.0" enco ...

  8. 【Project】原生JavaWeb工程 03 单表的业务功能

    年级表效果图样例: 可以看到主要分为以下这些功能: 功能一:展示年级列表 功能二:每个年级都具备修改和删除 功能三:添加一个年级 功能四:对多个年级选中删除,也可以全选删除,或者反选删除 功能五:根据 ...

  9. 【Shiro】04 ini授权实现

    [授权概念] 访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等). 在授权中需了解的几个关键对象:主体(Subject).资源(Resource).权限(Permission ...

  10. 基于 ChatGPT 的聊天软件合集打包分享

      「基于 ChatGPT 的聊天软件合集打包」 链接:https://pan.quark.cn/s/ef1f5e9c48e4 BotGem(原名AMA) 官网:https://botgem.com/ ...