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. [rCore学习笔记 03]配置rCore开发环境

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 rCo ...

  2. JMeter 配置元件之按条件读取CSV Data Set Config

    实践环境 win10 JMeter 5.4.1 需求描述 需求是这样的,需要压测某个接口(取消分配接口),请求这个接口之前,需要先登录系统(物流WMS系统),并在登录后,选择并进入需要操作的仓库,然后 ...

  3. 关于使用UE5打包Android的测试

    UE5打包Android,不同于UE4,在官方文档中需要Android studio 4.0或者3.5,还有Android SDK,NDK等 设置SetupAndroid, 在UE5 Editor配置 ...

  4. LeetCode455.分发饼干

    LeetCode题目链接:https://leetcode.cn/problems/assign-cookies/description/ 题目叙述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干 ...

  5. 后端说,单页面SPA和前端路由是怎么回事

    没有请求的路由 在传统开发中,浏览器点击一个超链接,就会像后端web服务器发送一个html文档请求,然后页面刷新.但开始单页面开发后,就完全不同了. 单页面?这个概念难以理解.我用一个js作为整个we ...

  6. java开发,json转list集合,原生实现

    java 是一门面象对象的语言,对象需要先定义,但是在外理网络请求时候会用到json 转成java 对象,虽然现代开发框架中也提供了很多工具和方法直接转换, 但是作为学习者了解 一下底层实现,更能灵活 ...

  7. 再读vue

    app.vue是项目的主组件,页面的入口文件 main.js是项目的入口文件 vue.config.js是vue-cli的配置文件//用这个配置代理,端口号 例如 const { defineConf ...

  8. 【Spring】04 注解实现自动装配

    1.使用注解实现自动装配 注解的基础源于JDK1.5的新特性 在Spring2.5开始支持了注解功能 如何使用? 1.导入约束 xmlns:context="http://www.sprin ...

  9. 【JavaScript】前端算法题 40道题+解析

    前言 最近练习了一些前端算法题,现在做个总结,以下题目都是个人写法,并不是标准答案,如有错误欢迎指出,有对某道题有新的想法的友友也可以在评论区发表想法,互相学习 题目 题目一: 二维数组中的查找: 在 ...

  10. MIT6.1810の学习笔记

    webliuのmit.6.828学习笔记 写在前面 本文基于mit/6.828课程,附官方网址. 本文采用的实验环境为2020年版的xv6系统,需要wsl,vscode,docker工具.附环境配置教 ...