关于Qt Webkit模块详细介绍 一

本文介绍了QtWebKit模块的使用方法及特点。QtWebKit模块允许在Qt应用程序中轻松使用万维网内容,支持HTML、XHTML、SVG文档的渲染,CSS排版,JavaScript运行等功能。文章还详细介绍了QtWebKit的架构,包括QWebView、QWebPage、QWebFrame等核心组件的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于Qt Webkit模块详细介绍 

关于 Qt Webkit模块 详细介绍是本文要介绍的内容,主要是来学习 webkit 的使用方法, QtWebkit 模块 提供了一个在 Qt 中使用web browser的engine,这使得我们在 QT 的应用程序中使用万维网上的内容变得很容易,而且对其网页内容的控制也可以通过native controls 实现。

QtWebkit具有渲染HTML,XHTML和SVG 文档, 使用CSS排版,运行JavaScript等功能。

在JavaScript 运行环境和Qt object model 直接的桥接技术使得自定义的QObject 可以在JavaScript代码中使用。和Qt network module 的整合使得网页可以通过从服务器,本地文件系统,甚至qt的资源系统中下载。

另外为了提供渲染特性,可以使用HTML元素的 contenteditable属性,使HTML文档可以被用户编辑。

QtWebkit是基于开源的WebKit engine的。更多信息可以到http://www.webkit.org查看。

为了使用Qtwebkit模块中的类,我们需要在相关头文件中加入 #include <QtWebKit>, 在工程的pro文件中添加 QT += webkit语句。

QtWebkit 高层的架构:

关于Qt Webkit模块详细介绍

QWebView 主要用来查看网页,一个QWebView的实例中有一个QWebPage.

QWebPage可以访问这个页面的文档结构,它主要描述如Frames,he navigation history, 和编辑内容的the undo/redo stack

HTML文档可以嵌套到一个frameset中个frame中。HTML一个独立的 frame是通过QWebFrame类展示的。这个类中包含了到JS  window object的bridge 和 用于刷新的QPainter。每一个QWebPage 拥有一个QWebFrame作为其 main frame,一个main frame 可以包含多个child frame。

每一个的Frame都有一个自己的JavaScript Context。QWebFrame::addToJavaScriptWindowObject()可以使Qt C++中的object 从JavaScript函数中访问。 QWebFrame::evaluateJavaScript()可以使用户在C++代码中直接运行JavaScript代码。

一个HTML文档中独立的元素可以通过在同一个页面中的DOM JavaScript 接口访问。对应的类是QWebElement。可以使用CSS选择器通过QWebFrame 's  findAllElements() 和 findFirstElement() 函数获取QWebElement对象。

QWebSetting 提供了对浏览器常用的各种属性,和各种设置的配置。如:JavaScript enabled, plugin enabled等。通过其默认设置可以显示所有QWebPage实例的默认配置。个别的属性可以通过这个页面的setting 来设置。全局的Setting使用QWebSetting::globalSettings(), 某个页面的settings 用QWebPage::settings()。

QWebHsitory 主要是用来存放QWebPage的访问历史记录,并且提供对于导航到相关页面的支持。

QWebHistoryInterface 提供了一个实现访问历史连接的接口。

注意: 仅在桌面系统中提供 对Netscape plugin 的支持。

自从WebKit支持 Netscape Plugin API, qt的应用程序可以显示当前平台上可用的常见plugin。为了使plugin的支持性可用,用户必须安装对应的plugin,并且当前应用程序的QWebSetting::PluginEnabled 设置为可用。

QNetworkAccessManager 是一个可以发送和接收数据的异步API。它可以看做是post/put/get/head API。它也提供了对cookie和session的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值