关于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 高层的架构:
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模块详细介绍的内容介绍完了,希望通过本文的学习能对你有所帮助!