關於Qt Webkit模塊詳細介紹 一

關於Qt Webkit模塊詳細介紹 

關於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 高層的架構:

關於Qt Webkit模塊詳細介紹

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的支持。

發佈了7 篇原創文章 · 獲贊 13 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章