The QWebEnginePage 類提供用於查看和編輯 Web 文檔的對象。 更多...
| 頭: | #include <QWebEnginePage> |
| qmake: | QT += webenginewidgets |
| Since: | Qt 5.4 |
| 繼承: | QObject |
| enum | Feature { Geolocation, MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, MouseLock } |
| enum | FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple } |
| enum | FindFlag { FindBackward, FindCaseSensitively } |
| flags | FindFlags |
| enum | JavaScriptConsoleMessageLevel { InfoMessageLevel, WarningMessageLevel, ErrorMessageLevel } |
| enum | NavigationType { NavigationTypeLinkClicked, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, NavigationTypeOther } |
| enum | PermissionPolicy { PermissionUnknown, PermissionGrantedByUser, PermissionDeniedByUser } |
| enum | RenderProcessTerminationStatus { NormalTerminationStatus, AbnormalTerminationStatus, CrashedTerminationStatus, KilledTerminationStatus } |
| enum | WebAction { NoWebAction, Back, Forward, Stop, ..., ViewSource } |
| enum | WebWindowType { WebBrowserWindow, WebBrowserTab, WebDialog, WebBrowserBackgroundTab } |
|
|
| QWebEnginePage (QObject * parent = Q_NULLPTR) | |
| QWebEnginePage (QWebEngineProfile * profile , QObject * parent = Q_NULLPTR) | |
| ~QWebEnginePage () | |
| QAction * | action (WebAction action ) const |
| QColor | backgroundColor () const |
| QSizeF | contentsSize () const |
| const QWebEngineContextMenuData & | contextMenuData () const |
| QMenu * | createStandardContextMenu () |
| void | findText (const QString & subString , FindFlags options = FindFlags()) |
| void | findText (const QString & subString , FindFlags options , FunctorOrLambda resultCallback ) |
| bool | hasSelection () const |
| QWebEngineHistory * | history () const |
| QIcon | icon () const |
| QUrl | iconUrl () const |
| bool | isAudioMuted () const |
| void | load (const QUrl & url ) |
| void | load (const QWebEngineHttpRequest & request ) |
| void | print (QPrinter * printer , FunctorOrLambda resultCallback ) |
| void | printToPdf (const QString & filePath , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() )) |
| void | printToPdf (FunctorOrLambda resultCallback , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() )) |
| QWebEngineProfile * | profile () const |
| bool | recentlyAudible () const |
| void | replaceMisspelledWord (const QString & replacement ) |
| QUrl | requestedUrl () const |
| void | runJavaScript (const QString & scriptSource , quint32 worldId , FunctorOrLambda resultCallback ) |
| void | runJavaScript (const QString & scriptSource , quint32 worldId ) |
| void | runJavaScript (const QString & scriptSource , FunctorOrLambda resultCallback ) |
| void | runJavaScript (const QString & scriptSource ) |
| void | save (const QString & filePath , QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const |
| QWebEngineScriptCollection & | scripts () |
| QPointF | scrollPosition () const |
| QString | selectedText () const |
| void | setAudioMuted (bool muted ) |
| void | setBackgroundColor (const QColor & color ) |
| void | setContent (const QByteArray & data , const QString & mimeType = QString(), const QUrl & baseUrl = QUrl()) |
| void | setFeaturePermission (const QUrl & securityOrigin , Feature feature , PermissionPolicy policy ) |
| void | setHtml (const QString & html , const QUrl & baseUrl = QUrl()) |
| void | setUrl (const QUrl & url ) |
| void | setView (QWidget * view ) |
| void | setWebChannel (QWebChannel * channel , uint worldId ) |
| void | setWebChannel (QWebChannel * channel ) |
| void | setZoomFactor (qreal factor ) |
| QWebEngineSettings * | settings () const |
| QString | title () const |
| void | toHtml (FunctorOrLambda resultCallback ) const |
| void | toPlainText (FunctorOrLambda resultCallback ) const |
| virtual void | triggerAction (WebAction action , bool checked = false) |
| QUrl | url () const |
| QWidget * | view () const |
| QWebChannel * | webChannel () const |
| qreal | zoomFactor () const |
| virtual bool | event (QEvent * e ) |
| void | audioMutedChanged (bool muted ) |
| void | authenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator ) |
| void | contentsSizeChanged (const QSizeF & size ) |
| void | featurePermissionRequestCanceled (const QUrl & securityOrigin , QWebEnginePage::Feature feature ) |
| void | featurePermissionRequested (const QUrl & securityOrigin , QWebEnginePage::Feature feature ) |
| void | fullScreenRequested (QWebEngineFullScreenRequest request ) |
| void | geometryChangeRequested (const QRect & geom ) |
| void | iconChanged (const QIcon & icon ) |
| void | iconUrlChanged (const QUrl & url ) |
| void | linkHovered (const QString & url ) |
| void | loadFinished (bool ok ) |
| void | loadProgress (int progress ) |
| void | loadStarted () |
| void | pdfPrintingFinished (const QString & filePath , bool success ) |
| void | proxyAuthenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator , const QString & proxyHost ) |
| void | recentlyAudibleChanged (bool recentlyAudible ) |
| void | renderProcessTerminated (RenderProcessTerminationStatus terminationStatus , int exitCode ) |
| void | scrollPositionChanged (const QPointF & position ) |
| void | selectionChanged () |
| void | titleChanged (const QString & title ) |
| void | urlChanged (const QUrl & url ) |
| void | windowCloseRequested () |
| virtual bool | acceptNavigationRequest (const QUrl & url , NavigationType type , bool isMainFrame ) |
| virtual bool | certificateError (const QWebEngineCertificateError & certificateError ) |
| virtual QStringList | chooseFiles (FileSelectionMode mode , const QStringList & oldFiles , const QStringList & acceptedMimeTypes ) |
| virtual QWebEnginePage * | createWindow (WebWindowType type ) |
| virtual void | javaScriptAlert (const QUrl & securityOrigin , const QString & msg ) |
| virtual bool | javaScriptConfirm (const QUrl & securityOrigin , const QString & msg ) |
| virtual void | javaScriptConsoleMessage (JavaScriptConsoleMessageLevel level , const QString & message , int lineNumber , const QString & sourceID ) |
| virtual bool | javaScriptPrompt (const QUrl & securityOrigin , const QString & msg , const QString & defaultValue , QString * result ) |
The QWebEnginePage 類提供用於查看和編輯 Web 文檔的對象。
A Web 引擎頁麵 保持 HTML 文檔的內容、導航鏈接的曆史及動作。
QWebEnginePage 的 API 非常類似 QWebEngineView ,仍提供常用功能像 action () (稱為 pageAction () 在 QWebEngineView ), triggerAction (),和 findText ().
頁麵可以被加載使用 load () 或 setUrl ()。另外,若擁有隨時可用的 HTML 內容,可以使用 setHtml ()。GET 方法始終被用於加載 URL。
The QWebEnginePage 類還提供方法去檢索目前由頁麵加載的 URL (見 url ()) 及要被加載的最初請求 URL (見 requestedUrl ))。這些方法使在加載進程期間發生 DNS 解答 (或重定嚮) 前後檢索 URL 成為可能。 requestedUrl () 還匹配被添加到頁麵曆史的 URL ( QWebEngineHistory ) 若加載成功。
HTML 頁麵標題可以被訪問采用 title () 特性。此外,頁麵還可以指定圖標,其可以被訪問使用 icon () 或其 URL 使用 iconUrl () 特性。若標題或圖標改變,相應 titleChanged (), iconChanged () 和 iconUrlChanged () 信號會被發射。 zoomFactor () 特性使能夠按比例因子縮放網頁內容。
The
loadStarted
() 信號被發射,當頁麵開始加載時,而
loadProgress
() 信號被發射,每當網頁元素 (如嵌入圖像或腳本) 完成加載時。
loadFinished
() 信號被發射,當頁麵內容已加載完成時 (獨立於腳本執行或頁麵渲染)。其自變量,是
true
or
false
,指示加載操作是否成功。
HTML 文檔被加載於
main frame
在網頁中。若它引用
child frames
(作為定義通過
<frame>
or
<iframe>
元素),它們被認為是內容的一部分。子級框架隻可透過 JavaScript 單獨訪問。
網站定義
security origin
為客戶端側腳本 (或數據庫) 安全訪問彼此資源。來源由主機名、方案及端口號組成。例如站點
http://www.example.com/my/page.html
and
http://www.example.com/my/overview.html
允許共享同一數據庫或訪問彼此的文檔,當用於 HTML 框架集和 JavaScript 時。同時,
http://www.malicious.com/evil.html
被阻止訪問其下資源為
http://www.example.com/
,因為它們是不同安全來源。默認情況下,本地方案像
file://
and
qrc://
被認為是在同一安全來源中,且可以訪問彼此資源。默認情況下,限定本地資源訪問遠程內容,這意味著
file://
將不能訪問
http://domain.com/foo.html
.
腳本可以被執行在網頁通過使用
runJavaScript
(),在主 JavaScript
world
,來自 web 內容的其它 JavaScript,或在它們自己的獨立世界。雖然頁麵的 DOM 可以被訪問從任何世界,但在某一世界中定義的 JavaScript 函數變量是不能從另一世界訪問的。
QWebEngineScript::ScriptWorldId
為此目的提供瞭一些預定義 ID。使用
runJavaScript()
在世界 ID 外版本如同運行腳本在
MainWorld
.
The FocusOnNavigationEnabled setting can be used to stop the view associated with the page from automatically receiving focus when a navigation operation occurs (like loading or reloading a page or navigating through history).
此枚舉描述用戶可能被要求授予 (或拒絕) 訪問的平颱特徵訪問類彆:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::Geolocation
|
1
|
定位硬件或服務。 |
QWebEnginePage::MediaAudioCapture
|
2
|
音頻捕獲設備 (譬如:麥剋風)。 |
QWebEnginePage::MediaVideoCapture
|
3
|
視頻設備 (譬如:攝像頭)。 |
QWebEnginePage::MediaAudioVideoCapture
|
4
|
音頻和視頻捕獲設備。 |
QWebEnginePage::MouseLock
|
5
|
鼠標鎖定,將鼠標指針鎖定到 Web 視圖 (通常用於遊戲)。 |
另請參閱 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 PermissionPolicy .
此枚舉指示實現的 chooseFiles () 函數應該僅返迴一個文件或可以返迴多個文件:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::FileSelectOpen
|
0
|
隻返迴一個文件名。 |
QWebEnginePage::FileSelectOpenMultiple
|
1
|
返迴多個文件名。 |
另請參閱 chooseFiles ().
此枚舉描述的選項可用於 findText () 函數。來自以下列錶中的選項可以 OR 在一起:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::FindBackward
|
1
|
嚮後搜索,而不是嚮前。 |
QWebEnginePage::FindCaseSensitively
|
2
|
默認情況下 findText () 工作不區分大小寫。指定此選項把行為改為區分大小寫的查找操作。 |
FindFlags 類型是 typedef 對於 QFlags <FindFlag>。它存儲 FindFlag 值的 OR (或) 組閤。
此枚舉描述瞭 JavaScript 控製颱消息,可以擁有的不同嚴重級彆:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::InfoMessageLevel
|
0
|
消息為純情報且可以被安全忽略。 |
QWebEnginePage::WarningMessageLevel
|
1
|
消息告知可能需要關注的意外行為 (或錯誤)。 |
QWebEnginePage::ErrorMessageLevel
|
2
|
消息指示齣現錯誤。 |
此枚舉描述導航請求類型:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::NavigationTypeLinkClicked
|
0
|
導航請求由點擊鏈接産生。 |
QWebEnginePage::NavigationTypeTyped
|
1
|
導航請求由明確加載 URL 産生。 |
QWebEnginePage::NavigationTypeFormSubmitted
|
2
|
導航請求由錶單提交産生。 |
QWebEnginePage::NavigationTypeBackForward
|
3
|
導航請求由後退 (或前進) 動作産生。 |
QWebEnginePage::NavigationTypeReload
|
4
|
導航請求由重新加載動作産生。 |
QWebEnginePage::NavigationTypeOther
|
5
|
導航請求由上述未涵蓋的其它手段觸發。 |
另請參閱 acceptNavigationRequest ().
此枚舉描述用戶可以為數據或設備訪問設置的權限策略:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::PermissionUnknown
|
0
|
用戶是否授予 (或拒絕) 權限未知。 |
QWebEnginePage::PermissionGrantedByUser
|
1
|
用戶已授予權限。 |
QWebEnginePage::PermissionDeniedByUser
|
2
|
用戶已拒絕權限。 |
另請參閱 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 Feature .
此枚舉描述渲染進程終止狀態:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::NormalTerminationStatus
|
0
|
渲染進程正常終止。 |
QWebEnginePage::AbnormalTerminationStatus
|
1
|
渲染進程以非零退齣狀態終止。 |
QWebEnginePage::CrashedTerminationStatus
|
2
|
渲染進程崩潰 (例如:由於分段故障)。 |
QWebEnginePage::KilledTerminationStatus
|
3
|
渲染進程被殺除,例如被
SIGKILL
或被任務管理器殺除。
|
該枚舉在 Qt 5.6 引入或被修改。
此枚舉描述可以在網頁上履行的動作類型。
Actions only have an effect when they are applicable. The availability of actions can be be determined by checking isEnabled() 在返迴動作通過 action ().
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::NoWebAction
|
-1
|
沒有動作被觸發。 |
QWebEnginePage::Back
|
0
|
在導航鏈接曆史中後退導航。 |
QWebEnginePage::Forward
|
1
|
在導航鏈接曆史中前進導航。 |
QWebEnginePage::Stop
|
2
|
停止加載當前頁麵。 |
QWebEnginePage::Reload
|
3
|
重新加載當前頁麵。 |
QWebEnginePage::ReloadAndBypassCache
|
10
|
重新加載當前頁麵,但不使用任何本地緩存。 |
QWebEnginePage::Cut
|
4
|
把目前選中內容剪切到剪貼闆。 |
QWebEnginePage::Copy
|
5
|
把目前選中內容拷貝到剪貼闆。 |
QWebEnginePage::Paste
|
6
|
從剪貼闆粘貼內容。 |
QWebEnginePage::Undo
|
7
|
撤消上一編輯動作。 |
QWebEnginePage::Redo
|
8
|
重做上一編輯動作。 |
QWebEnginePage::SelectAll
|
9
|
Select all content. |
QWebEnginePage::PasteAndMatchStyle
|
11
|
采用當前樣式從剪貼闆粘貼內容。 |
QWebEnginePage::OpenLinkInThisWindow
|
12
|
在當前窗口打開當前鏈接 (在 Qt 5.6 添加)。 |
QWebEnginePage::OpenLinkInNewWindow
|
13
|
Open the current link in a new window. (Added in Qt 5.6) |
QWebEnginePage::OpenLinkInNewTab
|
14
|
Open the current link in a new tab. (Added in Qt 5.6) |
QWebEnginePage::OpenLinkInNewBackgroundTab
|
31
|
Open the current link in a new background tab. (Added in Qt 5.7) |
QWebEnginePage::CopyLinkToClipboard
|
15
|
把當前鏈接拷貝到剪貼闆 (在 Qt 5.6 添加)。 |
QWebEnginePage::CopyImageToClipboard
|
17
|
把點擊圖像拷貝到剪貼闆 (在 Qt 5.6 添加)。 |
QWebEnginePage::CopyImageUrlToClipboard
|
18
|
把點擊圖像的 URL 拷貝到剪貼闆 (在 Qt 5.6 添加)。 |
QWebEnginePage::CopyMediaUrlToClipboard
|
20
|
把懸停音頻 (或視頻) 的 URL 拷貝到剪貼闆 (在 Qt 5.6 添加)。 |
QWebEnginePage::ToggleMediaControls
|
21
|
在展示和隱藏懸停音頻 (或視頻) 元素控件之間觸發 (在 Qt 5.6 添加)。 |
QWebEnginePage::ToggleMediaLoop
|
22
|
觸發懸停音頻 (或視頻)是否應在完成時循環 (在 Qt 5.6 添加)。 |
QWebEnginePage::ToggleMediaPlayPause
|
23
|
觸發懸停音頻 (或視頻) 元素的播放/暫停狀態 (在 Qt 5.6 添加)。 |
QWebEnginePage::ToggleMediaMute
|
24
|
靜音 (或取消靜音) 懸停音頻 (或視頻) 元素 (在 Qt 5.6 添加)。 |
QWebEnginePage::DownloadLinkToDisk
|
16
|
Download the current link to the disk. (Added in Qt 5.6) |
QWebEnginePage::DownloadImageToDisk
|
19
|
Download the highlighted image to the disk. (Added in Qt 5.6) |
QWebEnginePage::DownloadMediaToDisk
|
25
|
Download the hovered audio or video to the disk. (Added in Qt 5.6) |
QWebEnginePage::InspectElement
|
26
|
觸發任何附加 Web 審查程序以審查高亮元素 (在 Qt 5.6 添加)。 |
QWebEnginePage::ExitFullScreen
|
27
|
退齣全屏模式 (在 Qt 5.6 添加)。 |
QWebEnginePage::RequestClose
|
28
|
請求關閉網頁。若有定義,
window.onbeforeunload
處理程序運行,且用戶可以確認或拒絕關閉頁麵。若有確認關閉請求,
windowCloseRequested
被發射 (在 Qt 5.6 添加)。
|
QWebEnginePage::Unselect
|
29
|
清零當前選定 (在 Qt 5.7 添加)。 |
QWebEnginePage::SavePage
|
30
|
Save the current page to disk. MHTML is the default format that is used to store the web page on disk. (Added in Qt 5.7) |
QWebEnginePage::ViewSource
|
32
|
Show the source of the current page in a new tab. (Added in Qt 5.8) |
此枚舉描述可以創建的窗口類型通過 createWindow () 函數:
| 常量 | 值 | 描述 |
|---|---|---|
QWebEnginePage::WebBrowserWindow
|
0
|
完整 Web 瀏覽器窗口。 |
QWebEnginePage::WebBrowserTab
|
1
|
Web 瀏覽器選項卡。 |
QWebEnginePage::WebDialog
|
2
|
沒有裝飾的窗口。 |
QWebEnginePage::WebBrowserBackgroundTab
|
3
|
Web 瀏覽器選項卡不隱藏當前可見 WebEngineView (在 Qt 5.7 添加)。 |
此特性保持當前頁麵音頻是否被靜音。
默認值為
false
.
該特性在 Qt 5.7 引入。
訪問函數:
| bool | isAudioMuted () const |
| void | setAudioMuted (bool muted ) |
通知程序信號:
| void | audioMutedChanged (bool muted ) |
另請參閱 recentlyAudible .
此特性保持文檔本體背後的頁麵背景色。
可以把背景色設為 Qt::transparent 或半透明顔色以透視文檔,或將其設為匹配混閤應用程序 Web 內容以防在加載期間可能齣現的白色閃爍。
默認值為白色。
該特性在 Qt 5.6 引入。
訪問函數:
| QColor | backgroundColor () const |
| void | setBackgroundColor (const QColor & color ) |
The size of the page contents.
該特性在 Qt 5.7 引入。
訪問函數:
| QSizeF | contentsSize () const |
通知程序信號:
| void | contentsSizeChanged (const QSizeF & size ) |
此特性保持此頁麵是否包含選定內容。
訪問函數:
| bool | hasSelection () const |
另請參閱 selectionChanged ().
This property holds the icon associated with the page currently viewed
默認情況下,此屬性包含 null 圖標。若網頁指定一個以上圖標,
icon
特性將可用候選圖標封裝於單個、可伸縮
QIcon
.
該特性在 Qt 5.7 引入。
訪問函數:
| QIcon | icon () const |
通知程序信號:
| void | iconChanged (const QIcon & icon ) |
另請參閱 iconChanged (), iconUrl (),和 iconUrlChanged ().
This property holds the URL of the icon associated with the page currently viewed
默認情況下,此特性包含空 URL。
訪問函數:
| QUrl | iconUrl () const |
通知程序信號:
| void | iconUrlChanged (const QUrl & url ) |
另請參閱 iconUrlChanged (), icon (),和 iconChanged ().
此特性保持當前頁麵的 audible state ,也就是,最近是否有播放音頻。
默認值為
false
.
該特性在 Qt 5.7 引入。
訪問函數:
| bool | recentlyAudible () const |
通知程序信號:
| void | recentlyAudibleChanged (bool recentlyAudible ) |
另請參閱 audioMuted .
This property holds the URL that was originally requested to be loaded by the page that is currently viewed
注意: URL 可能異於返迴的經由 url (),它是來自 DNS 解析或重定嚮結果的實際 URL。
訪問函數:
| QUrl | requestedUrl () const |
此特性保持頁麵內容的捲動位置。
該特性在 Qt 5.7 引入。
訪問函數:
| QPointF | scrollPosition () const |
通知程序信號:
| void | scrollPositionChanged (const QPointF & position ) |
This property holds the text currently selected
默認情況下,此特性包含空字符串。
訪問函數:
| QString | selectedText () const |
另請參閱 selectionChanged ().
此特性保持頁麵的標題,作為定義通過 HTML
<title>
element
訪問函數:
| QString | title () const |
另請參閱 titleChanged ().
This property holds the URL of the page currently viewed
設置此特性清零視圖並加載 URL。
默認情況下,此特性包含空的無效 URL。
訪問函數:
| QUrl | url () const |
| void | setUrl (const QUrl & url ) |
另請參閱 urlChanged ().
This property holds the zoom factor for the page content
有效值範圍從
0.25
to
5.0
。默認因子為
1.0
.
訪問函數:
| qreal | zoomFactor () const |
| void | setZoomFactor (qreal factor ) |
構造空的 QWebEnginePage 采用父級 parent .
構造空 Web 引擎頁麵按 Web 引擎 Profile (配置文件) profile 采用父級 parent .
若 Profile (配置文件) 不是默認 Profile,調用者必須確保該 Profile 保持存活隻要頁麵存在。
該函數在 Qt 5.5 引入。
銷毀 Web 頁麵。
[virtual protected]
bool
QWebEnginePage::
acceptNavigationRequest
(const
QUrl
&
url
,
NavigationType
type
,
bool
isMainFrame
)
此函數被調用當接收請求以導航到指定
url
通過指定導航類型
type
.
isMainFrame
指示請求是對應主框架,還是子級框架。若函數返迴
true
,導航請求被接受且
url
被加載。默認實現接受所有導航請求。
此函數被調用為加前綴的絕對 URL 采用
http://
or
https://
及為無法識彆方案,譬如
mailto:
,其會被處理通過
QDesktopServices
若接受。要在接收請求導航到本地 URL 時也調用此函數,URL 前綴采用
http://
.
可以將導航請求委托給 Qt 應用程序,而不是讓 HTML 處理程序引擎通過重載此函數處理它們。這是必要的,當把 HTML 文檔用作用戶界麵的一部分,且不顯示外部數據時 (例如:當顯示結果列錶時)。
The QWebEngineUrlRequestInterceptor 類提供用於攔截和操縱請求的進一步選項。
該函數在 Qt 5.5 引入。
返迴 QAction 為指定 WebAction action .
動作歸 QWebEnginePage 但可以通過改變其特性定製外觀。
QWebEnginePage 還負責實現動作,以便觸發時在頁麵履行相應動作。
另請參閱 triggerAction ().
[signal]
void
QWebEnginePage::
audioMutedChanged
(
bool
muted
)
此信號被發射當頁麵的 muted 狀態改變。
注意: 不要混淆特定 HTML5 音頻或視頻元素的靜音。
該函數在 Qt 5.7 引入。
注意: 通知程序信號對於特性 audioMuted .
[signal]
void
QWebEnginePage::
authenticationRequired
(const
QUrl
&
requestUrl
,
QAuthenticator
*
authenticator
)
此信號被發射當訪問 requestUrl 要求身份驗證。 authenticator 應該被用於傳遞連接的用戶名和口令。
[virtual protected]
bool
QWebEnginePage::
certificateError
(const
QWebEngineCertificateError
&
certificateError
)
此函數被調用,當加載給定請求時引發無效證書錯誤。
The certificateError 參數包含證書和錯誤細節的有關信息。
返迴
true
忽略錯誤並完成請求。返迴
false
停止加載請求。
另請參閱 QWebEngineCertificateError .
[virtual protected]
QStringList
QWebEnginePage::
chooseFiles
(
FileSelectionMode
mode
, const
QStringList
&
oldFiles
, const
QStringList
&
acceptedMimeTypes
)
This function is called when the web content requests a file name, for example as a result of the user clicking on a file upload button in an HTML form.
mode indicates whether only one file or multiple files are expected to be returned.
A suggested filename may be provided as the first entry of oldFiles . acceptedMimeTypes is ignored by the default implementation, but might be used by overrides.
返迴當前上下文菜單的有關額外數據。它僅保證是有效的在調用 QWebEngineView::contextMenuEvent () 處理程序的關聯 QWebEngineView .
該函數在 Qt 5.7 引入。
另請參閱 createStandardContextMenu ().
創建標準上下文菜單,當用戶采用鼠標右鍵點擊網頁時展示。它被調用從默認 contextMenuEvent() 處理程序。將彈齣菜單的所有權轉移給調用者。
返迴
nullptr
若上下文菜單數據未被初始化,例如:在實際不請求上下文菜單時調用它。
[virtual protected]
QWebEnginePage
*QWebEnginePage::
createWindow
(
WebWindowType
type
)
此函數被調用以創建新窗口,采用指定 type 。例如,當 JavaScript 程序請求在新窗口中打開文檔時。
若新窗口可以被創建,新窗口的 QWebEnginePage 被返迴;否則 null 指針被返迴。
若網頁關聯視圖為 QWebEngineView 對象,則默認實現把請求轉發給 QWebEngineView::createWindow ();否則它返迴 null 指針。
注意:
在通過 JavaScript 觸發創建窗口的情況中,除重實現此方法外,應用程序還必須設置
QWebEngineSettings::JavascriptCanOpenWindows
to
true
為讓方法被調用。
另請參閱 QWebEngineView::createWindow ().
[虛擬]
bool
QWebEnginePage::
event
(
QEvent
*
e
)
重實現自 QObject::event ().
[signal]
void
QWebEnginePage::
featurePermissionRequestCanceled
(const
QUrl
&
securityOrigin
,
QWebEnginePage::Feature
feature
)
此信號被發射當網站被標識通過 securityOrigin 取消先前發齣的請求為使用 feature .
另請參閱 featurePermissionRequested () 和 setFeaturePermission ().
[signal]
void
QWebEnginePage::
featurePermissionRequested
(const
QUrl
&
securityOrigin
,
QWebEnginePage::Feature
feature
)
此信號被發射當網站被標識通過 securityOrigin 請求使用資源 (或設備) 的標識通過 feature .
另請參閱 featurePermissionRequestCanceled () 和 setFeaturePermission ().
查找指定字符串, subString ,在頁麵使用給定 options .
要清零搜索高亮,隻需傳遞空字符串。
查找指定字符串, subString ,在頁麵使用給定 options .
要清零搜索高亮,隻需傳遞空字符串。
The
resultCallback
必須接受布爾參數。它會被調用采用值
true
若
subString
被找到;否則,迴調值將為
false
.
例如:
m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](bool found) {
if (!found) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found"));
});
[signal]
void
QWebEnginePage::
fullScreenRequested
(
QWebEngineFullScreenRequest
request
)
此信號被發射當網頁發齣進入 Web 元素 (通常為視頻元素) 全屏模式的請求時。
請求對象 request 可用於接受或拒絕請求。
若接受請求,全屏請求元素將填充視口,但直到應用程序使視圖全屏 (或將頁麵移至全屏視圖)。
另請參閱 QWebEngineSettings::FullScreenSupportEnabled .
[signal]
void
QWebEnginePage::
geometryChangeRequested
(const
QRect
&
geom
)
此信號被發射每當文檔希望把頁麵位置和大小更改為 geom 。這會發生,例如透過 JavaScript。
返迴指嚮導航網頁的視圖曆史的指針。
[signal]
void
QWebEnginePage::
iconChanged
(const
QIcon
&
icon
)
此信號被發射當頁麵關聯的 Favicon 圖標被改變時。新圖標被指定由 icon .
該函數在 Qt 5.7 引入。
注意: 通知程序信號對於特性 icon .
另請參閱 icon (), iconUrl (),和 iconUrlChanged ().
[signal]
void
QWebEnginePage::
iconUrlChanged
(const
QUrl
&
url
)
此信號被發射當頁麵關聯的 Favicon 圖標 URL 被改變時。新圖標 URL 被指定由 url .
注意: 通知程序信號對於特性 iconUrl .
另請參閱 iconUrl (), icon (),和 iconChanged ().
[virtual protected]
void
QWebEnginePage::
javaScriptAlert
(const
QUrl
&
securityOrigin
, const
QString
&
msg
)
此函數被調用,每當 JavaScript 程序運行在附屬框架采用
securityOrigin
調用
alert()
函數采用消息
msg
.
默認實現展示消息, msg ,采用 QMessageBox::information .
[virtual protected]
bool
QWebEnginePage::
javaScriptConfirm
(const
QUrl
&
securityOrigin
, const
QString
&
msg
)
此函數被調用,每當 JavaScript 程序運行在附屬框架采用
securityOrigin
調用
confirm()
函數采用消息
msg
。返迴
true
若用戶確認消息;否則返迴
false
.
它也會被調用當
onbeforeunload
處理程序請求確認在離開頁麵之前。
默認實現執行查詢使用 QMessageBox::information with QMessageBox::Ok and QMessageBox::Cancel 按鈕。
[virtual protected]
void
QWebEnginePage::
javaScriptConsoleMessage
(
JavaScriptConsoleMessageLevel
level
, const
QString
&
message
,
int
lineNumber
, const
QString
&
sourceID
)
此函數被調用,當 JavaScript 程序試著打印 message 到 Web 瀏覽器控製颱。
For example, in case of evaluation errors the source URL may be provided in sourceID as well as the lineNumber .
level indicates the severity of the event that triggered the message. That is, whether it was triggered by an error or a less severe event.
從 Qt 5.6 起,默認實現日誌消息按
js
日誌類彆
.
另請參閱 控製颱日誌 .
[virtual protected]
bool
QWebEnginePage::
javaScriptPrompt
(const
QUrl
&
securityOrigin
, const
QString
&
msg
, const
QString
&
defaultValue
,
QString
*
result
)
此函數被調用,每當 JavaScript 程序運行在附屬框架采用 securityOrigin tries to prompt the user for input. The program may provide an optional message, msg , as well as a default value for the input in defaultValue .
If the prompt was cancelled by the user, the implementation should return
false
; otherwise the result should be written to
result
and
true
should be returned. If the prompt was not cancelled by the user, the implementation should return
true
and the result string must not be null.
默認實現使用 QInputDialog::getText ().
[signal]
void
QWebEnginePage::
linkHovered
(const
QString
&
url
)
此信號被發射當鼠標懸停鏈接上時。 url 包含鏈接的目標 URL。
加載 url 進此頁麵。
注意: 視圖仍然相同,直到達成足夠數據纔顯示新 URL。
另請參閱 setUrl (), setHtml (),和 setContent ().
發齣指定 request 並加載響應。
該函數在 Qt 5.9 引入。
另請參閱 load (), setUrl (), url (), urlChanged (),和 QUrl::fromUserInput ().
[signal]
void
QWebEnginePage::
loadFinished
(
bool
ok
)
此信號被發射當頁麵內容加載完成時。此信號獨立於腳本執行 (或頁麵渲染)。 ok 將指示加載是否成功 (或發生任何錯誤)。
另請參閱 loadStarted ().
[signal]
void
QWebEnginePage::
loadProgress
(
int
progress
)
此信號被發射當全局進度狀態改變時。當前值被提供由 progress 並縮放到 0 - 100,其是默認範圍為 QProgressBar 。它纍計所有子級幀的變化。
[signal]
void
QWebEnginePage::
loadStarted
()
此信號被發射當頁麵開始加載內容。
另請參閱 loadFinished ().
[signal]
void
QWebEnginePage::
pdfPrintingFinished
(const
QString
&
filePath
,
bool
success
)
此信號被發射,當把網頁打印成 PDF 文件完成時。
filePath
將包含請求創建的文件路徑,且
success
將是
true
若成功創建文件且
false
否則。
該函數在 Qt 5.9 引入。
另請參閱 printToPdf ().
將頁麵的當前內容渲染成臨時 PDF 文檔,然後打印它使用 printer .
將檢索用於創建和打印 PDF 文檔的設置從 printer object. It is the users responsibility to ensure the printer 仍然有效直到 resultCallback has been called.
The
resultCallback
must take a boolean as parameter. If printing was successful, this boolean will have the value
true
, otherwise, its value will be
false
.
該函數在 Qt 5.8 引入。
把頁麵的當前內容渲染成 PDF 文檔,並將它保存在指定位置 filePath 。産生的 PDF 文檔的頁麵大小和取嚮,獲取自指定值 pageLayout .
為將網頁打印成 PDF,此方法發齣異步請求,並立即返迴。要通報請求的有關結果,連接到信號 pdfPrintingFinished ().
若提供的文件路徑已存在,將覆寫它。
該函數在 Qt 5.7 引入。
另請參閱 pdfPrintingFinished ().
把頁麵的當前內容渲染成 PDF 文檔,並將包含 PDF 數據的字節數組作為參數返迴給 resultCallback 。産生的 PDF 文檔的頁麵大小和取嚮,獲取自指定值 pageLayout .
The resultCallback 必須接受 const 引用對 QByteArray 作為參數。若打印成功,此字節數組將包含 PDF 數據,否則,字節數組將為空。
該函數在 Qt 5.7 引入。
返迴頁麵所屬 Web 引擎 Profile (配置文件)。
該函數在 Qt 5.5 引入。
[signal]
void
QWebEnginePage::
proxyAuthenticationRequired
(const
QUrl
&
requestUrl
,
QAuthenticator
*
authenticator
, const
QString
&
proxyHost
)
此信號被發射當訪問 requestUrl 憑藉 proxyHost 要求對代理進行身份驗證。 authenticator 應該被用於傳遞連接的用戶名和口令。
[signal]
void
QWebEnginePage::
recentlyAudibleChanged
(
bool
recentlyAudible
)
此信號會被發射,當頁麵的可聽見狀態, recentlyAudible 改變,因為音頻播放或停止。
注意: 信號也會被發射當調用 setAudioMuted () 方法。此外,若音頻被暫停,此信號被發射按近似 2 秒延遲 ,從音頻被暫停的那一刻起。
該函數在 Qt 5.7 引入。
注意: 通知程序信號對於特性 recentlyAudible .
[signal]
void
QWebEnginePage::
renderProcessTerminated
(
RenderProcessTerminationStatus
terminationStatus
,
int
exitCode
)
此信號被發射當渲染進程采用非零退齣狀態被終止時。 terminationStatus 是進程的終止狀態,且 exitCode 是進程終止的狀態碼。
該函數在 Qt 5.6 引入。
替換當前拼寫錯誤單詞采用 replacement .
可以找到當前拼寫錯誤單詞在 QWebEngineContextMenuData::misspelledWord (),且置換建議在 QWebEngineContextMenuData::spellCheckerSuggestions ().
該函數在 Qt 5.8 引入。
另請參閱 contextMenuData ().
運行包含的 JavaScript 代碼在
scriptSource
in the world specified by
worldId
。世界 ID 值是相同的提供通過
QWebEngineScript::ScriptWorldId
. Using the
runJavaScript()
versions without the world ID is the same as running the script in the
MainWorld
.
當執行腳本時,
resultCallback
被調用帶最後執行語句的結果。
resultCallback
可以是函數指針、函子或 Lambda,且期望接受
QVariant
參數。例如:
page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); });
警告: 不要在迴調函數中執行長例程,因為可能阻塞 Web 引擎頁麵的渲染。
見 scripts () for an alternative API to inject scripts.
該函數在 Qt 5.7 引入。
另請參閱 QWebEngineScript::ScriptWorldId .
此函數重載 runJavaScript ().
This convenience function runs the JavaScript code contained in scriptSource in the world specified by worldId .
該函數在 Qt 5.7 引入。
此函數重載 runJavaScript ().
運行包含的 JavaScript 代碼在 scriptSource .
The script will run in the same world as other scripts that are part of the loaded site.
當執行腳本時, resultCallback 被調用帶最後執行語句的結果。
另請參閱 QWebEngineScript::MainWorld .
此函數重載 runJavaScript ().
This convenience function runs the JavaScript code contained in scriptSource in the same world as other scripts that are part of the loaded site.
另請參閱 QWebEngineScript::MainWorld .
把當前加載網頁保存到磁盤。
網頁被保存到 filePath 以指定 format .
這是以下動作的捷徑:
此函數為網頁發齣異步下載請求,並立即返迴。
該函數在 Qt 5.8 引入。
另請參閱 QWebEngineDownloadItem::SavePageFormat .
返迴被注入到頁麵中的腳本集閤。
此外,頁麵還可能執行添加腳本透過 QWebEngineProfile::scripts ().
另請參閱 QWebEngineScriptCollection and QWebEngineScript .
[signal]
void
QWebEnginePage::
selectionChanged
()
此信號被發射每當以交互或編程方式改變選定時。例如,通過調用 triggerAction () 采用選定動作。
另請參閱 selectedText ().
把網頁內容設為
data
。若
mimeType
自變量為空,假定內容為
text/plain,charset=US-ASCII
.
內容中引用的外部對象的定位相對於 baseUrl .
The data 被立即加載;外部對象是異步加載的。
注意: 此方法不會影響頁麵會話或全局曆史。
警告: 內容將被 % (百分號) 編碼在憑藉 IPC 被發送到渲染器之前。這可能增加其大小。% (百分號) 編碼內容的最大大小 = 2 MB - 6 Bytes + MIME 類型字符串長度。
設置網站權限標識通過 securityOrigin 要使用 feature to policy .
注意: 調用此方法在 featurePermissionRequested () signal, as it is meant to serve pending feature requests only. Setting feature permissions ahead of a request has no effect.
另請參閱 featurePermissionRequested () 和 featurePermissionRequestCanceled ().
將此頁麵的內容設為 html . baseUrl 是可選的和用於解析文檔中的相對 URL,譬如:引用的圖像或樣式錶。
The html 被立即加載;外部對象是異步加載的。
若腳本在 html 運行時間超過默認 (目前 10 秒) 腳本超時,(例如:由於被模態 JavaScript 警報對話框所阻塞),此方法將盡快返迴在超時之後且任何後續 html 將異步加載。
When using this method, the web engine assumes that external resources, such as JavaScript programs or style sheets, are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external script can be specified through the charset attribute of the HTML script tag. It is also possible for the encoding to be specified by the web server.
此方便函數相當於 setContent (html, "text/html", baseUrl).
注意: 此方法不會影響頁麵會話或全局曆史。
警告: This function works only for HTML, for other mime types (such as XHTML and SVG) setContent () 應該被使用以取而代之。
警告: The content will be percent encoded before being sent to the renderer via IPC. This may increase its size. The maximum size of the percent encoded content is 2 megabytes minus 30 bytes.
另請參閱 toHtml (), setContent (),和 load ().
設置 view 關聯網頁。
另請參閱 view ().
將此頁麵要使用的 Web 通道實例設為
channel
並使用 Chromium IPC (進程間通信) 消息將它連接到 Web 引擎傳輸。傳輸被暴露在 JavaScript 世界
worldId
as
qt.webChannelTransport
,其應該被使用當使用
Qt WebChannel JavaScript API
.
注意: 頁麵不擁有通道對象的所有權。
注意: 每頁麵隻可以安裝一 Web 通道,即使在另一 JavaScript 世界中設置瞭一個也會卸載任何已安裝的 Web 通道。
該函數在 Qt 5.7 引入。
另請參閱 webChannel () 和 QWebEngineScript::ScriptWorldId .
這是重載函數。
將此頁麵要使用的 Web 通道實例設為 channel 並將其安裝在主 JavaScript 世界。
采用此方法,可以通過網頁內容訪問 Web 通道。若內容不受控製且可能懷有敵意,這會是安全問題且應考慮將它安裝在私有 JavaScript 世界中。
該函數在 Qt 5.5 引入。
另請參閱 QWebEngineScript::MainWorld .
返迴指嚮頁麵設置對象的指針。
另請參閱 QWebEngineSettings::globalSettings ().
[signal]
void
QWebEnginePage::
titleChanged
(const
QString
&
title
)
此信號發射,每當頁麵標題改變時。 title 字符串指定新標題。
另請參閱 title ().
以 HTML 形式檢索頁麵內容 (封閉於 HTML 和 BODY 標簽) 的異步方法。成功完成後, resultCallback 被調用帶有頁麵內容。
注意: resultCallback 可以是函數指針、函子或 Lambda,且期望接受 QString 參數。
另請參閱 setHtml () 和 toPlainText ().
把檢索頁麵的內容 (完全剝離所有 HTML 格式) 轉換為純文本的異步方法。成功完成時, resultCallback 被調用帶有頁麵內容。
注意: resultCallback 可以是函數指針、函子或 Lambda,且期望接受 QString 參數。
另請參閱 toHtml ().
[虛擬]
void
QWebEnginePage::
triggerAction
(
WebAction
action
,
bool
checked
= false)
此函數可以被調用以觸發指定 action 。它也會被調用通過 Qt WebEngine 若用戶觸發動作 (例如:透過上下文菜單項)。
若 action 是可復選動作,則 checked 指定動作是否被觸發。
另請參閱 action ().
[signal]
void
QWebEnginePage::
urlChanged
(const
QUrl
&
url
)
此信號被發射帶頁麵 URL,當接收到頁麵標題時。新 URL 被指定由 url .
另請參閱 url ().
返迴與網頁關聯的視圖 Widget。
另請參閱 setView ().
返迴指嚮此頁麵所用的 Web 通道實例的指針,或 none 指針若未設置。此通道通過 Chromium IPC (進程間通信) 自動使用內部 Web 引擎傳輸機製,該機製在此頁麵的 JavaScript 上下文中被公開為
qt.webChannelTransport
.
該函數在 Qt 5.5 引入。
另請參閱 setWebChannel ().
[signal]
void
QWebEnginePage::
windowCloseRequested
()
此信號被發射每當頁麵請求關閉 Web 瀏覽器窗口時,例如透過 JavaScript
window.close()
調用。
另請參閱 RequestClose .