QWebEngineView 類

The QWebEngineView 類提供用於查看和編輯 Web 文檔的 Widget。 更多...

頭: #include <QWebEngineView>
qmake: QT += webenginewidgets
Since: Qt 5.4
繼承: QWidget

特性

公共函數

QWebEngineView (QWidget * parent = Q_NULLPTR)
virtual ~QWebEngineView ()
void findText (const QString & subString , QWebEnginePage::FindFlags options = ..., const QWebEngineCallback<bool> & resultCallback = ...)
bool hasSelection () const
QWebEngineHistory * history () const
QIcon icon () const
QUrl iconUrl () const
void load (const QUrl & url )
void load (const QWebEngineHttpRequest & request )
QWebEnginePage * page () const
QAction * pageAction (QWebEnginePage::WebAction action ) const
QString selectedText () const
void setContent (const QByteArray & data , const QString & mimeType = QString(), const QUrl & baseUrl = QUrl())
void setHtml (const QString & html , const QUrl & baseUrl = QUrl())
void setPage (QWebEnginePage * page )
void setUrl (const QUrl & url )
void setZoomFactor (qreal factor )
QWebEngineSettings * settings () const
QString title () const
void triggerPageAction (QWebEnginePage::WebAction action , bool checked = false)
QUrl url () const
qreal zoomFactor () const

重實現公共函數

virtual QSize sizeHint () const override

公共槽

void back ()
void forward ()
void reload ()
void stop ()

信號

void iconChanged (const QIcon & icon )
void iconUrlChanged (const QUrl & url )
void loadFinished (bool ok )
void loadProgress (int progress )
void loadStarted ()
void renderProcessTerminated (QWebEnginePage::RenderProcessTerminationStatus terminationStatus , int exitCode )
void selectionChanged ()
void titleChanged (const QString & title )
void urlChanged (const QUrl & url )

靜態公共成員

const QMetaObject staticMetaObject

保護函數

virtual QWebEngineView * createWindow (QWebEnginePage::WebWindowType type )

重實現保護函數

virtual void contextMenuEvent (QContextMenuEvent * event ) override
virtual void dragEnterEvent (QDragEnterEvent * e ) override
virtual void dragLeaveEvent (QDragLeaveEvent * e ) override
virtual void dragMoveEvent (QDragMoveEvent * e ) override
virtual void dropEvent (QDropEvent * e ) override
virtual bool event (QEvent * ev ) override
virtual void hideEvent (QHideEvent * event ) override
virtual void showEvent (QShowEvent * event ) override

額外繼承成員

詳細描述

The QWebEngineView 類提供用於查看和編輯 Web 文檔的 Widget。

A Web 視圖 是 Qt WebEngine Web 瀏覽模塊的主要 Widget 組件。可以把它用於各種應用程序以實時顯示來自 Internet 的 Web 內容。

A 網站 可以被加載到 Web 視圖采用 load () 函數。GET 方法始終被用於加載 URL。

像所有 Qt Widget, show () 函數必須被援引以顯示 Web 視圖。以下代碼片段闡明瞭這點:

    QWebEngineView *view = new QWebEngineView(parent);
    view->load(QUrl("http://qt-project.org/"));
    view->show();
					

另外, setUrl () 可以用於加載網站。若有隨時可用的 HTML 內容,可以使用 setHtml () 代替。

The loadStarted () 信號被發射當視圖開始加載和 loadProgress () 信號被發射每當 Web 視圖元素完成加載時,如:嵌入式圖像或腳本。 loadFinished () 信號被發射當視圖已完全加載。其自變量為 true or false ,指示加載是成功或失敗。

The page () 函數返迴指針指嚮 web page 對象。 QWebEngineView 包含 QWebEnginePage ,進而允許訪問 QWebEngineHistory 在頁麵的上下文中。

可以訪問 HTML 文檔的標題采用 title () 特性。另外,網站可以指定圖標,可以訪問該圖標使用 icon () 或其 URL 使用 iconUrl () 特性。若標題或圖標改變,相應 titleChanged (), iconChanged () 和 iconUrlChanged () 信號會被發射。 zoomFactor () 特性使能夠按比例因子縮放網頁內容。

Widget 提供訂製手邊元素,並包括有用瀏覽器動作的上下文菜單。對於自定義上下文菜單,或把動作嵌入菜單或工具欄,單個動作是可用的通過 pageAction ()。Web 視圖維護返迴動作的狀態,但允許修改動作特性,如 text or icon 。動作語義也可以被直接觸發,透過 triggerPageAction ().

若希望為允許用戶打開新窗口 (譬如:彈齣窗口) 的網站提供支持,可以子類 QWebEngineView 並重實現 createWindow () 函數。

另請參閱 WebEngine Widgets 簡單瀏覽器範例 , WebEngine 內容操縱範例 ,和 WebEngine Markdown 編輯器範例 .

特性文檔編製

hasSelection : const bool

此特性保持此頁麵是否包含選定內容。

默認情況下,此特性為 false .

訪問函數:

bool hasSelection () const

另請參閱 selectionChanged ().

icon : const QIcon

此特性保持關聯目前查看頁麵的圖標。

默認情況下,此特性包含 null 圖標。

該特性在 Qt 5.7 引入。

訪問函數:

QIcon icon () const

通知程序信號:

void iconChanged (const QIcon & icon )

另請參閱 iconChanged (), iconUrl (),和 iconUrlChanged ().

iconUrl : const QUrl

此特性保持關聯目前查看頁麵的圖標 URL。

默認情況下,此特性包含空 URL。

訪問函數:

QUrl iconUrl () const

通知程序信號:

void iconUrlChanged (const QUrl & url )

另請參閱 iconUrlChanged (), icon (),和 iconChanged ().

selectedText : const QString

此特性保持當前選中的文本。

默認情況下,此特性包含空字符串。

訪問函數:

QString selectedText () const

另請參閱 findText () 和 selectionChanged ().

title : const QString

此特性保持頁麵的標題,作為定義通過 HTML <title> 元素。

相當於 QWebEnginePage::title ().

訪問函數:

QString title () const

另請參閱 titleChanged ().

url : QUrl

此特性保持目前查看網頁的 URL。

設置此特性清零視圖並加載 URL。

默認情況下,此特性包含空的無效 URL。

訪問函數:

QUrl url () const
void setUrl (const QUrl & url )

另請參閱 load () 和 urlChanged ().

zoomFactor : qreal

此特性保持視圖縮放因子。

有效值範圍從 0.25 to 5.0 。默認因子為 1.0 .

訪問函數:

qreal zoomFactor () const
void setZoomFactor (qreal factor )

成員函數文檔編製

QWebEngineView:: QWebEngineView ( QWidget * parent = Q_NULLPTR)

構造空 Web 視圖采用父級 parent .

另請參閱 load ().

[虛擬] QWebEngineView:: ~QWebEngineView ()

銷毀 Web 視圖。

[slot] void QWebEngineView:: back ()

方便槽,用於把先前文檔加載進由導航鏈接構建的文檔列錶。什麼都不做,若沒有先前文檔。

相當於:

    view->page()->triggerAction(QWebEnginePage::Back);
					

另請參閱 forward () 和 pageAction ().

[override virtual protected] void QWebEngineView:: contextMenuEvent ( QContextMenuEvent * event )

重實現自 QWidget::contextMenuEvent ().

[virtual protected] QWebEngineView *QWebEngineView:: createWindow ( QWebEnginePage::WebWindowType type )

此函數的調用是從 createWindow() 方法的關聯 QWebEnginePage 每次頁麵想要創建新窗口按給定 type 。例如,當發齣 JavaScript 請求在新窗口中打開文檔時。

注意: createWindow() 方法的關聯頁麵被重實現,此方法不被調用,除非在重實現中明確這樣做。

另請參閱 QWebEnginePage::createWindow ().

[override virtual protected] void QWebEngineView:: dragEnterEvent ( QDragEnterEvent * e )

重實現自 QWidget::dragEnterEvent ().

[override virtual protected] void QWebEngineView:: dragLeaveEvent ( QDragLeaveEvent * e )

重實現自 QWidget::dragLeaveEvent ().

[override virtual protected] void QWebEngineView:: dragMoveEvent ( QDragMoveEvent * e )

重實現自 QWidget::dragMoveEvent ().

[override virtual protected] void QWebEngineView:: dropEvent ( QDropEvent * e )

重實現自 QWidget::dropEvent ().

[override virtual protected] bool QWebEngineView:: event ( QEvent * ev )

重實現自 QWidget::event ().

void QWebEngineView:: findText (const QString & subString , QWebEnginePage::FindFlags options = ..., const QWebEngineCallback < bool > & resultCallback = ...)

查找指定字符串, subString ,在頁麵使用給定 options .

要清除選定,隻需傳遞空字符串。

resultCallback 必須接受布爾參數。它會被調用采用值 true if subString 被找到;否則,迴調值將為 false .

警告: 我們保證迴調 ( resultCallback ) 始終被調用,但可能在頁麵銷毀期間完成。當 QWebEnginePage 被刪除,將采用無效值觸發迴調,因此是不安全的使用相應 QWebEnginePage or QWebEngineView 實例在其中。

另請參閱 selectedText () 和 selectionChanged ().

[slot] void QWebEngineView:: forward ()

方便槽,用於把下一文檔加載進由導航鏈接構建的文檔列錶。什麼都不做,若沒有下一文檔。

相當於:

    view->page()->triggerAction(QWebEnginePage::Forward);
					

另請參閱 back () 和 pageAction ().

[override virtual protected] void QWebEngineView:: hideEvent ( QHideEvent * event )

重實現自 QWidget::hideEvent ().

QWebEngineHistory *QWebEngineView:: history () const

返迴指嚮導航網頁的視圖曆史的指針。

相當於:

    view->page()->history();
					

[signal] void QWebEngineView:: iconChanged (const QIcon & icon )

此信號被發射當視圖關聯的 favicon 圖標改變時。新圖標的指定通過否則否則 icon .

該函數在 Qt 5.7 引入。

注意: 通知程序信號對於特性 icon .

另請參閱 icon (), iconUrl (),和 iconUrlChanged ().

[signal] void QWebEngineView:: iconUrlChanged (const QUrl & url )

此信號被發射當視圖關聯的 favicon 圖標 URL 改變時。新 URL 的指定通過 url .

注意: 通知程序信號對於特性 iconUrl .

另請參閱 iconUrl (), icon (),和 iconChanged ().

void QWebEngineView:: load (const QUrl & url )

加載指定 url 並顯示它。

注意: 視圖仍然相同,直到達成足夠數據纔顯示新 URL。

另請參閱 load(), setUrl (), url (), urlChanged (),和 QUrl::fromUserInput ().

void QWebEngineView:: load (const QWebEngineHttpRequest & request )

發齣指定 request 並加載響應。

該函數在 Qt 5.9 引入。

另請參閱 load (), setUrl (), url (), urlChanged (),和 QUrl::fromUserInput ().

[signal] void QWebEngineView:: loadFinished ( bool ok )

此信號被發射當頁麵的加載已完成時。 ok 將指示加載成功 (或發生錯誤)。

另請參閱 loadStarted ().

[signal] void QWebEngineView:: loadProgress ( int progress )

此信號被發射每當 Web 視圖中的某個元素加載完成 (如:嵌入式圖像或腳本) 時。因此,它跟蹤加載 Web 視圖的集體進度。

當前值被提供由 progress 並縮放到 0 - 100,其是默認範圍為 QProgressBar .

另請參閱 loadStarted () 和 loadFinished ().

[signal] void QWebEngineView:: loadStarted ()

此信號被發射當頁麵的新加載開始時。

另請參閱 loadProgress () 和 loadFinished ().

QWebEnginePage *QWebEngineView:: page () const

返迴指嚮底層 Web 頁麵的指針。

另請參閱 setPage ().

QAction *QWebEngineView:: pageAction ( QWebEnginePage::WebAction action ) const

返迴指針指嚮 QAction 封裝指定的 Web 動作 action .

[slot] void QWebEngineView:: reload ()

重新加載當前文檔。

另請參閱 stop (), pageAction (),和 loadStarted ().

[signal] void QWebEngineView:: renderProcessTerminated ( QWebEnginePage::RenderProcessTerminationStatus terminationStatus , int exitCode )

此信號被發射當渲染進程采用非零退齣狀態被終止時。 terminationStatus 是進程的終止狀態,且 exitCode 是進程終止的狀態碼。

該函數在 Qt 5.6 引入。

[signal] void QWebEngineView:: selectionChanged ()

此信號發射,每當選定改變時。

注意: 當使用鼠標通過左鍵點擊並拖拽以選擇文本時,會為每個新選中字符發射信號,而不是在釋放鼠標左鍵時。

另請參閱 selectedText ().

void QWebEngineView:: setContent (const QByteArray & data , const QString & mimeType = QString(), const QUrl & baseUrl = QUrl())

把 Web 視圖內容設為 data 。若 mimeType 自變量為空,假定內容為 text/plain,charset=US-ASCII .

內容中引用的外部對象的定位相對於 baseUrl 。對於要加載外部對象, baseUrl 不可以為空。

數據被立即加載;外部對象被異步加載。

另請參閱 load (), setHtml (),和 QWebEnginePage::toHtml ().

void QWebEngineView:: setHtml (const QString & html , const QUrl & baseUrl = QUrl())

將 Web 視圖內容設為指定 html 內容。

外部對象 (譬如:HTML 文檔引用的樣式錶或圖像) 的定位相對於 baseUrl 。對於要加載外部對象, baseUrl 不可以為空。例如,若 html 檢索自 http://www.example.com/documents/overview.html ,其是基 URL,然後相對 URL 引用圖像, diagram.png ,應該在 http://www.example.com/documents/diagram.png .

HTML 文檔立即加載,而外部對象異步加載。

當使用此方法時,Qt WebEngine 假定外部資源 (譬如 JavaScript 程序或樣式錶) 以 UTF-8 編碼,除非另有指定。例如,可以指定外部腳本的編碼透過 charset 屬性在 HTML 腳本標簽。另外,可以通過 Web 服務器指定編碼。

此方便函數相當於 setContent(html, "text/html;charset=UTF-8", baseUrl) .

警告: 此函數僅工作於 HTML。對於其它 MIME 類型 (譬如 XHTML 或 SVG), setContent () 應該被使用以取而代之。

注意: 大於 2 MB 的內容無法顯示,因為 setHtml() 將轉換提供的 HTML 為百分比編碼並放置 data :在它之前創建導航 URL。由此,提供的代碼變為超過 Chromium 設置的 2 MB 限製的 URL。若內容太大, loadFinished () 信號被觸發采用 success=false .

另請參閱 load (), setContent (), QWebEnginePage::toHtml (),和 QWebEnginePage::setContent ().

void QWebEngineView:: setPage ( QWebEnginePage * page )

使 page 成為 Web 視圖的新網頁。

父級 QObject 為提供頁麵仍然是對象所有者。若當前頁麵是 Web 視圖子頁麵,則刪除它。

另請參閱 page ().

QWebEngineSettings *QWebEngineView:: settings () const

返迴指嚮視圖 (或頁麵) 特定設置對象的指針。

相當於:

    view->page()->settings();
					

另請參閱 QWebEngineSettings::globalSettings ().

[override virtual protected] void QWebEngineView:: showEvent ( QShowEvent * event )

重實現自 QWidget::showEvent ().

[override virtual] QSize QWebEngineView:: sizeHint () const

重實現自 QWidget::sizeHint ().

[slot] void QWebEngineView:: stop ()

停止加載文檔的方便槽。

相當於:

    view->page()->triggerAction(QWebEnginePage::Stop);
					

另請參閱 reload (), pageAction (),和 loadFinished ().

[signal] void QWebEngineView:: titleChanged (const QString & title )

此信號發射,每當 title 對於視圖改變。

另請參閱 title ().

void QWebEngineView:: triggerPageAction ( QWebEnginePage::WebAction action , bool checked = false)

觸發指定 action 。若是可復選動作,指定 checked 假定狀態。

以下範例觸發拷貝動作,因此把任何選中文本拷貝到剪貼闆。

    view->triggerPageAction(QWebEnginePage::Copy);
					

另請參閱 pageAction ().

[signal] void QWebEngineView:: urlChanged (const QUrl & url )

此信號發射,當 url 對於視圖改變。

另請參閱 url () 和 load ().