QtWebkit包含的类简介

前言

    WebKit从Qt 4.4开始被作为一个Module被集成到Qt中。简单的说,Qt webkit就是Qt对Apple公司webkit的支持而开发的库,主要包括以下几个类:

  1. QWebDatabase:Access to HTML 5 databases created with JavaScript
  2. QWebFrame:Represents a frame in a web page
  3. QWebHistory:Represents the history of a QWebPage
  4. QWebHistoryInterface:Interface to implement link history
  5. QWebHistoryItem:Represents one item in the history of a QWebPage
  6. QWebHitTestResult:Information about the web page content after a hit test
  7. QWebPage:Object to view and edit web documents
  8. QWebPluginFactory:Creates plugins to be embedded into web pages
  9. QWebSecurityOrigin:Defines a security boundary for web sites
  10. QWebSettings:Object to store the settings used by QWebPage and QWebFrame
  11. QWebView:Widget that is used to view and edit web documents

1、QWebView

    QWebView类是Qt webkit模块中最常用到的类之一。它用来创建一个可以view以及edit文档的widget。也就是说,我们可以通过QWebView来查看和编辑网页(编辑网页视具体情况实现)。同时,QWebView可以包含QWebPage和QWebFrame的对象,它们三者的关系可以表示为:

QtWebkit包含的类简介

2、QWebPage

    QWebPage类和QWebView类一样,都用于查看和编辑网页,不同的是,从两者的包含关系上我们可以知道,QWebView可以用于打开多个网页,而里面具体的网页对象就是QWebPage。QWebPage通过mainframe()方法可以得到More QWebView-like functions,如load(), setUrl() 和 setHtml()。

3、QWebFrame

    QWebFrame可以算是QWebPage的元对象了,每一个QWebPage至少有一个QWebFrame,它被称作QWebPage的mainframe,通过QWebPage:: mainframe()方法得到。换言之,QWebFrame依附QWebPage存在。通过调用QWebFrame的page()方法返回它所在的QWebPage对象。而zoomFactor()方法则实现了网页内容的缩放。

4、QWebDataBase

    QWebDataBase提供了对基于JavaScript创建的HTML 5数据库。新一代的HTML 5标准也提供对基于javaScript SQL数据库访问的支持。QWebDataBase就是这些数据库的C++接口。

5、QWebHistory

    顾名思义,QWebHistory用来表示QWebPage的历史记录。通过创建相应的Items实现前进、后退等操作。与之相关的类为QWebHistoryItem和QWebHistoryInterface.

6、QWebHistoryInterface

    QWebHistory用来表示QWebPage的历史记录,不过历史记录却是通过QWebHistoryInterface记录下来的。当调用addHistoryEntry(const QString & url)方法后,访问的网页地址就被记录到visited pages里了。

7、QWebHistoryItem

    QWebHistoryItem类用于创建QWebHistory的Items. 加上QWebHistoryInterface类,实现了浏览器的历史记录功能。

8、QWebHitTestResult

    首先要明白HitTest的含义。HitTest通常被称为碰撞测试或相交测试,用于测试两个物体或目标(对象)间是否重叠和相交。可以用来判断网页内容是否用选中、是否能编辑、是否有超链接等等。

9、QWebPluginFactory

    QWebPluginFactory是QWebPage的插件工厂,用于创建嵌入web pages的插件。QWebPluginFactory使用的前提是在QWebSettings中Plugins被设定为enabled插件可以用于实现对多媒体类型(MIME)数据的应用。比如在网页中显示pdf文档或flash动画。不过,现阶段Qt WebKit还不支持对flash的应用,如果想要在Qt WebKit中使用flash,可以参考使用一些开源的flash库,比如gnash。想更进一步了解MIME和gnash,请点击MIME数据类型和gnash应用。

10、QWebSecurityOrigin

    QWebSecurityOrigin用于定义网站的安全边界(Security boundary),它包含了一个网站host name, scheme, 和port number,用于阻止非法权限对网站数据的访问。

11、QWebSettings

    用于储存QWebPage和QWebFrame的设置。每一个QWebPage都有它的QWebSettings对象,用于对网页设置信息的存储。如果一个setting没有被配置,那么它将通过QWebSettings::globalSettings()寻找一个global settings.网页的属性通过枚举类型enum QWebSettings::WebAttribute定义.

你可能感兴趣的:(webkit)