前言

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的对象,它们三者的关系可以表示为:

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定义.

QtWebkit包含的类简介的更多相关文章

  1. Spring Security——核心类简介——获得登录用户的相关信息

    核心类简介 目录 1.1     Authentication 1.2     SecurityContextHolder 1.3     AuthenticationManager和Authenti ...

  2. DriverManager 驱动管理器类简介 JDBC简介(三)

    驱动程序管理器是负责管理驱动程序的,驱动注册以后,会保存在DriverManager中的已注册列表中 后续的处理就可以对这个列表进行操作 简言之,驱动管理器,就是字面含义,主要负责就是管理 驱动 概述 ...

  3. Java基础-StringBuffer类与StringBuilder类简介

    Java基础-StringBuffer类与StringBuilder类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringBuffer类 在学习过String类之后 ...

  4. JAVA nio 2 和 Path 类简介

    想要初步了解 NIO.2 API,也就是通常所说的“JSR203: More New I/O APIs for the Java Platform”,最好的切入点就是新的抽象类 java.nio.fi ...

  5. ImageView类简介

    4.8  图片控件 本节将要介绍的是图片控件ImageView,首先对ImageView类进行简单介绍,然后通过一个案例来说明ImageView的用法. 4.8.1  ImageView类简介 Ima ...

  6. 如何导出标准模板库(STL)类的实例化和包含STL类对象数据成员的类

    本文翻译自 https://support.microsoft.com/zh-cn/help/168958/how-to-export-an-instantiation-of-a-standard-t ...

  7. c++ A类包含B类指针,B类包含A类指针的情况

    #include<stdio.h> class Bclass; class Aclass { public: friend Bclass; void func() { pB->fun ...

  8. Java基础-日期格式化DateFormat类简介

    Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...

  9. 34、Collections工具类简介

    Collections工具类简介 就像数组中的Arrays工具类一样,在集合里面也有跟Arrays类似的工具类Collections package com.sutaoyu.Collections; ...

随机推荐

  1. 删除 AP 发票相关脚本

    /* Formatted on 2018/3/15 10:33:14 (QP5 v5.256.13226.35538) */ --发票 CREATE TABLE bak.ap_invoices_all ...

  2. clientX, clientY,offsetX, offsetY,screenX, screenY, x, y

    clientX, clientY是鼠标当前相对于网页的位置,当鼠标位于页面左上角时clientX=0, clientY=0: offsetX, offsetY是鼠标当前相对于网页中的某一区域的位置,当 ...

  3. python测试开发django-18.admin后台中文版

    前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internat ...

  4. 超能英雄第一至四季/全集Heroes迅雷下载

    本季第一.二.三.四季 Heroes Season (2006-2009) 看点:<Heroes>是NBC电视台于2006年九月开播的最新科幻电视剧.Heroes(中文剧名为“英雄”或“天 ...

  5. 绝望的主妇第八季/Desperate Housewives迅雷下载

    绝望的主妇 第七季 Desperate Housewives Season 8(2011) 本季看点:曾经在<主妇>中有过重要演出的达娜·德拉尼(Dana Delany), 凯尔·麦克拉克 ...

  6. sublime text的扩展插件

    sublime text用作开发编辑器,还缺省二个比较重要功能:跨文件跳转.返回最后一次编辑的位置: 这里有二个插件正好解决此问题:CTags.ChangeList   其它常用的插件,google一 ...

  7. 删除list中的特定元素

    对于动态删除list中的特定元素,一般用linkedList,删除时有以下两种方法. 1. 循环遍历,找到要删除的元素后删除并且减少list长度.如果不减少list长度,那么就仅仅删除了元素,但没改变 ...

  8. 用自定义的RoundImageView来实现圆形图片(可加边框)

    本文的控件来自:http://blog.csdn.net/alan_biao/article/details/17379925 这个控件不同于之前介绍过的那个框架,这个仅仅能过将图片裁剪为圆形,没能弄 ...

  9. Chrome浏览器导出pdf时,隐藏链接HREF

    在使用chrome打印pdf是,会出现链接的HREF也同时打印的情况,只要加一句CSS即可 @media print {   a[href]:after {     content: none !im ...

  10. 整合 Ext JS 和第三方类库

    介绍 ExtJS提供了许多高度可定制化内置组件.如果它不在框架(framework)里面,你可以很容易的扩展这些类,或者浏览Sencha市场(Sencha Market) 寻找你可能需要的任何东西.那 ...