前言

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. i386、i586、i686、noarch、x86_64

    xxxxxxxxx.rpm   <== RPM的格式,已经经过编译且包装完成的rpm文件. xxxxxx.src.rpm   <== SRPM的格式,包含未编译的源代码信息. 例如rp-p ...

  2. Linux学习15-CentOS安装mysql5.6环境

    前言 在linux上安装mysql5.6版本,并远程连接mysql数据库操作 安装mysql mysql的安装可以用yum安装更方便 [root@yoyo ~]# cd /usr/local/ [ro ...

  3. BootStrap中的button使用

    原文地址:http://www.phloxblog.in/bootstrap-buttons/#.U5xYso2fclm 站点中事件的触发往往依赖于button或者超链接.因此,button能够觉得是 ...

  4. PlaceholderTextView

    PlaceholderTextView 效果 源码 https://github.com/YouXianMing/UI-Component-Collection 的 PlaceholderTextVi ...

  5. ios成长之每日一遍(day 8)

    这几天都有一些任务要跟, 把ios的学习拉后, 看看要抓紧咯, 看看轮到的学习的是UITableView. BIDAppDelegate.h #import <UIKit/UIKit.h> ...

  6. ExtJS 4.2 教程-06:服务器代理(proxy)

    转载自起飞网,原文地址:http://www.qeefee.com/extjs-course-6-server-proxy ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4.2 ...

  7. mongodb 脚本操作

    MO='mongo'$MO << EOFuse testdbdb.dropDatabase()show dbsexit;EOF

  8. Material Designer的低版本兼容实现(九)—— Float Button & Small Float Button

    5.0一个新特性就是出现了这么一个圆形的悬浮指示按钮,这个按钮可以用来体现一个全局的重要功能,比如添加账户什么的.这个按钮有两种大小,一种是正常的按钮大小,一种是小型的按钮.官方文档中介绍的是小心的按 ...

  9. ClipDrawable属性介绍

    ClipDrawable代表从其它位图上截取一个"图片片段",XML中的根元素为<clip.../>,截取的方向由clipOrientation控制 <?xml ...

  10. Dump dynamic object in LinqPad

      Just like: dynamic paper = MockPaper(); LINQPad.Extensions.Dump(paper); //paper.Dump(); Use LINQPa ...