【QT进阶】Qt Web混合编程之QWebEngineView基本用法

2024-04-18 11:36

本文主要是介绍【QT进阶】Qt Web混合编程之QWebEngineView基本用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

往期回顾

【QT入门】Qt自定义控件与样式设计之自定义QTabWidget实现tab在左,文本水平的效果-CSDN博客
【QT进阶】Qt Web混合编程之CEF、QCefView简单介绍-CSDN博客

【QT进阶】Qt Web混合编程之VS2019 CEF的编译与使用-CSDN博客
 

 【QT进阶】Qt Web混合编程之QWebEngineView基本用法

一、最终效果

二、具体用法

1、导入webenginewidgets模块

在pro文件的第一行补上就行

QT       += core gui  webenginewidgets

2、两种使用方法

不管哪种方法,都需要先导入webenginewidgets模块

2.1直接提升控件为QWebEngineView

然后在widget.cpp文件里直接用提升的控件去调用load/setUrl方法

注意给widget控件改个名字,方便区分使用 

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->web_widget->load(QUrl("http://www.baidu.com"));ui->web_widget->show();}
2.2、创建类继承QWebengineView

自己创建一个类,继承自QWebengineView,用这个类的对象去调用方法

(1)右键单击项目->添加新文件->选择c++ class->继承自QWebengineView

(2)初始化一下新添加的类,然后在widget.cpp文件里创建类对象并展示即可

当然,如果我们还想展示在某个widget控件里,让控件提升为我们新建这个类就是 

注意一个问题:

    CWebEngineView * webEngine = new CWebEngineView();webEngine->load(QUrl("http://www.baidu.com"));

注意,此时这样写,是不会显示出来的,因为窗口控件webwidget跟这个类新建的对象没关系

正确的写法:

ui->web_widget02->load(QUrl("http://www.baidu.com"));

3、setUrl和load方法具体介绍 

 3.1setUrl()方法

setUrl方法用于设置要显示的Web页面的URL。它接受一个QUrl对象作为参数,表示要加载的页面的URL。当调用setUrl方法时,QWebEngineView会立即开始加载指定的页面。

3.2load()方法

load方法也用于加载Web页面,它接受一个QUrl对象作为参数,表示要加载的页面的URL。与setUrl方法不同的是,load方法是一个重载方法,它还可以接受一个QWebEngineHttpRequest对象作为参数,用于指定加载页面时的请求头信息。调用load方法会开始加载指定的页面,并且可以通过QWebEnginePage的loadProgress信号来跟踪加载进度。

二者区别:
setUrl方法用于简单地设置要显示的页面的URL,而load方法则更加灵活,可以设置加载页面时的请求头信息。


以上就是QWebEngineView基本用法的简单介绍。

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!

这篇关于【QT进阶】Qt Web混合编程之QWebEngineView基本用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914674

相关文章

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择