QT webkit 各个类之间关系--QWebView-QWebPage

时间:2022-12-26 22:15:16

一、QT webkit简介

1.Qt

Qt(发音同 cute)是一个跨平台C++应用程式开发框架,有时又被称为C++部件工具箱Qt被用在KDE桌面环境、OperaGoogle EarthSkypeAdobe Photoshop AlbumVirtualBox的开发中。它是挪威Qt Software 的产品,2008617日被芬兰诺基亚Nokia)公司收购,以增强该公司在跨平台软件研发方面的实力。

 

2.Webkit

WebKitMac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。同时,WebKit也是Mac OS XSafari网页浏览器的基础。WebKit是一个开源项目,主要由KDEKHTML修改而来并且包含了一些来自苹果公司的一些组件。

传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDEKHTMLKJS。不过,随着cript style="COLOR: rgb(0,102,153); TEXT-DECORATION: none" href="http://zh.wikipedia.org/zh-cn/JavaScript">JavaScript引擎的独立性越来越强,现在WebKitWebCore已经基本上混用不分(例如Google ChromeMaxthon 3采用V8引擎,却仍然宣称自己是WebKit内核)。

3.Qt webkit

简单的说,Qt webkit就是QtApple公司webkit的支持而开发的库,主要包括以下几个类

QWebDatabase

Access to HTML 5 databases created with JavaScript

QWebFrame

Represents a frame in a web page

QWebHistory

Represents the history of a QWebPage

QWebHistoryInterface

Interface to implement link history

QWebHistoryItem

Represents one item in the history of a QWebPage

QWebHitTestResult

Information about the web page content after a hit test

QWebPage

Object to view and edit web documents

QWebPluginFactory

Creates plugins to be embedded into web pages

QWebSecurityOrigin

Defines a security boundary for web sites

QWebSettings

Object to store the settings used by QWebPage and QWebFrame

QWebView

Widget that is used to view and edit web documents

 

二、QWebView Class介绍

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

 QT webkit 各个类之间关系--QWebView-QWebPage



 QWebPageQWebFrame将会在后面介绍。

 三、QWebPage Class介绍

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

 

 四、QWebFrame Class介绍

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

QWebView为何有些网页显示不了呢 官方示例也不行

QWebView为什么有些网页显示不了呢 官方示例也不行
        QWebView *view = new QWebView(this);
        view->load(QUrl(url));
        view->show();
网页是https协议的,使用SSL加密连接了。你的Qt库集成了openssl模块吗?如果没有,要-openssl开关重编QtNetwork库。如果有,连接webView->page()->networkAccessManager()的sslErrors信号,调用QNetworkReply的ignoreSslErrors函数,然后把libeay32.dll和ssleay32.dll两个文件和程序放到一起。