关于Qt Webkit模块详细介绍

移动开发
关于Qt Webkit模块详细介绍是本文要介绍的内容,主要是来学习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的支持。

小结:关于Qt Webkit模块详细介绍的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: CSDN博客
相关推荐

2011-09-09 17:24:39

Qt Webkit模块

2011-08-29 10:01:27

QTWebkit插件

2011-08-29 14:10:03

QtWebkitFlash

2011-08-29 14:27:33

QTWebkit浏览器

2011-09-01 15:22:16

Qt WebKitWebKit

2011-06-22 17:09:50

QT 进程 通信

2011-06-29 15:02:25

Qt 模板库

2011-08-18 10:06:10

2011-06-30 18:15:36

Qt 线程 同步

2011-10-13 14:26:12

Qt WebKitWebKit

2011-06-14 11:48:38

Webkit QT

2011-07-06 17:40:43

iPhone SDK

2011-06-29 14:56:28

Qt Creator 快捷捷

2011-08-29 10:34:36

QTQWebKitJavaScript

2011-09-09 16:23:16

Android Web测试

2010-06-23 16:05:36

Linux Bash

2009-11-09 13:47:22

WCF Stream操

2009-06-17 16:01:28

2010-05-26 17:39:38

Linux性能监控

2010-03-16 14:46:37

点赞
收藏

51CTO技术栈公众号