WebEngineView QML 類型

A WebEngineView renders web content within a QML application. 更多...

import 語句: import QtWebEngine 1.5
Since: QtWebEngine 1.0
繼承: Item

特性

信號

方法

詳細描述

The WebEngineView type enables QML applications to render regions of dynamic web content. It may share the screen with other QML types, such as a TabView , or fill the screen, as specified within the QML application.

初始化 Web 引擎

For the web engine view to be rendered, the web engine must be initialized by using QtWebEngine::initialize 在應用程序主源文件中,如以下代碼段所示:

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    QtWebEngine::initialize();
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}
					

加載網頁

應用程序可以把頁麵加載到 WebEngineView , using either the url property or the loadHtml method and navigate within the view's session history. The GET method is always used to load URLs.

The history is represented by a WebEngineHistory data model that is held by the navigationHistory 特性。

以下樣本 QML 應用程序加載網頁使用 url 特性:

import QtQuick 2.0
import QtQuick.Window 2.0
import QtWebEngine 1.0
Window {
    width: 1024
    height: 750
    visible: true
    WebEngineView {
        anchors.fill: parent
        url: "http://www.qt.io"
    }
}
					

The loading 特性保持目前是否加載 HTML 頁麵。 loadingChanged() signal is emitted when loading the page begins, ends, or fails.

HTML 頁麵標題可以被訪問采用 title property. Additionally, a web page may specify an icon, which can be accessed using the icon property. The zoomFactor property enables zooming the contents of the web page by a scale factor.

If a certificate error is raised while loading a web page, the certificateError() signal is emitted. Certificate errors are handled by using the methods of the WebEngineCertificateError 類型。

交互

By default, links to different pages load within the same WebEngineView object, but web sites may request them to be opened as a new tab, window, or dialog. The newViewRequested() signal is emitted when a request to load the page in a separate web engine view is issued. The NewViewDestination property describes how the new view should be opened. In addition, the WebEngineNewViewRequest utility type can be used to load web pages in separate web engine views.

The findText() method can be used to search for a string on a web page, using the options described by FindFlags .

The setActiveFocusOnPress() method can be used to create a UI element that should not get focus on press. This can be useful in a hybrid UI.

The focusOnNavigationEnabled setting can be used to stop the view from automatically receiving focus when a navigation operation occurs (like loading or reloading a page or navigating through history).

The linkHovered() signal is emitted when a mouse pointer passes over a link and thus corresponds to the mouseover DOM event.

Actions, such as selecting and editing content, can be performed on a web page by using the triggerWebAction() method. The available actions are described by the WebAction 特性。

The backgroundColorChanged() signal is emitted when the web page background color changes.

用戶腳本

During the loading of a page, so called 用戶腳本 can be injected in the JavaScript engine at different points. The script objects attached to the web engine view are held by the userScripts property and injected by using the WebEngineScript type. Scripts can also be run by using the runJavaScript() method in the same world as other scripts that are part of the loaded site.

The webChannel property can be used to expose a WebChannel instance in the JavaScript context of the page it is rendering as qt.webChannelTransport .

全屏模式

A web page can request through the JavaScript API to be loaded in fullscreen mode. The fullScreenRequested() signal is emitted when the web page issues the request. The WebEngineFullScreenRequest utility type can be used to toggle fullscreen requests. The fullScreenCancelled method can be used to notify the browser engine when the windowing system forces the application to leave fullscreen mode.

Profiles

Web engine views can be isolated from each other by using the WebEngineProfile type. A profile contains settings, scripts, and the list of visited links shared by all views that belong to the profile. For example, a dedicated profile could be created for a 隱私瀏覽 mode. The current profile for the view is held by the profile property and the current settings are held by the settings property. The settings are specified by using the WebEngineSettings 類型。

平颱特徵

Web pages can request access to platform features, such as geolocation or audio and video capture devices. The featurePermissionRequested() signal is emitted when a web page requests to make use of a resource. The supported platform features are described by the Feature property. If users grant the permission, the grantFeaturePermission() method is used to set it to granted .

渲染到 OpenGL 錶麵

當使用 QQuickRenderControl to render a Qt Quick user interface to an OpenGL surface, the WebEngineView type is not rendered correctly. The web engine view attempts to use a global OpenGL context created by QtWebEngine::initialize , but there is no public API for accessing that context in order to share it with the QQuickRenderControl 上下文。

To have the web engine view rendered correctly, it is possible to manually create a new offscreen context that is shared with the QQuickRenderControl and to call the non-public function qt_gl_set_global_share_context() , rather than calling initialize() 。若 initialize() is called after setting a global context, it will do nothing.

特性文檔編製

ErrorDomain : enumeration

Describes various high-level error types:

常量 描述
WebEngineView.NoErrorDomain
WebEngineView.InternalErrorDomain Content fails to be interpreted by Qt WebEngine.
WebEngineView.ConnectionErrorDomain Error results from faulty network connection.
WebEngineView.CertificateErrorDomain Error related to the SSL/TLS certificate.
WebEngineView.HttpErrorDomain Error related to the HTTP connection.
WebEngineView.FtpErrorDomain Error related to the FTP connection.
WebEngineView.DnsErrorDomain Error related to the DNS connection.

Feature : enumeration

Describes the platform feature access categories that the user may be asked to grant or deny access to:

常量 描述
WebEngineView.Geolocation 定位硬件或服務。
WebEngineView.MediaAudioCapture 音頻捕獲設備 (譬如:麥剋風)。
WebEngineView.MediaVideoCapture 視頻設備 (譬如:攝像頭)。
WebEngineView.MediaAudioVideoCapture 音頻和視頻捕獲設備。

另請參閱 featurePermissionRequested() and grantFeaturePermission() .

FindFlags : enumeration

描述的選項可用於 findText() 函數。來自以下列錶中的選項可以 OR 在一起:

常量 描述
WebEngineView.FindBackward 嚮後搜索,而不是嚮前。
WebEngineView.FindFlags FindCaseSensitively By default findText() works case insensitive. Specifying this option changes the behavior to a case sensitive find operation.

另請參閱 findText() .

JavaScriptConsoleMessageLevel : enumeration

指示 JavaScript 控製颱消息的嚴重性:

常量 描述
WebEngineView.InfoMessageLevel Message is purely informative and can safely be ignored.
WebEngineView.WarningMessageLevel Message indicates there might be a problem that may need attention.
WebEngineView.ErrorMessageLevel Message indicates there has been an error.

LoadStatus : enumeration

反射頁麵加載狀態:

常量 描述
WebEngineView.LoadStartedStatus 目前正在加載頁麵。
WebEngineView.LoadStoppedStatus Loading the page was stopped by the stop() method or by the loader code or network stack in Chromium.
WebEngineView.LoadSucceededStatus Page has successfully loaded, and is not currently loading.
WebEngineView.LoadFailedStatus Page has failed to load, and is not currently loading.

NewViewDestination : enumeration

Describes how to open a new view:

常量 描述
WebEngineView.NewViewInWindow In a separate Window.
WebEngineView.NewViewInTab In a tab of the same window.
WebEngineView.NewViewInDialog In a Window without a tab bar, toolbar, or URL bar.
WebEngineView.NewViewInBackgroundTab In a tab of the same window, without hiding the currently visible web engine view.

另請參閱 WebEngineNewViewRequest.destination .

PrintedPageOrientation : enumeration

Describes the orientation of a PDF document that gets created from the WebEngineView 's contents. The enumeration values are mapped from and must match QPageLayout::Orientation .

常量 描述
WebEngineView.Portrait The document will be created using portrait orientation.
WebEngineView.Landscape The document will be created using landscape orientation.

該 QML 特性在 QtWebEngine 1.3 引入。

另請參閱 WebEngineView::printToPdf() .

PrintedPageSizeId : enumeration

This enum type lists the available page sizes as defined in the Postscript PPD standard.

The enumeration values are mapped from and must match QPageSize::PageSizeId . They are also duplicated in QPagedPaintDevice and QPrinter .

定義尺寸:

常量 描述
WebEngineView.A0 841 x 1189 mm
WebEngineView.A1 594 x 841 mm
WebEngineView.A2 420 x 594 mm
WebEngineView.A3 297 x 420 mm
WebEngineView.A4 210 x 297 mm, 8.26 x 11.69 inches
WebEngineView.A5 148 x 210 mm
WebEngineView.A6 105 x 148 mm
WebEngineView.A7 74 x 105 mm
WebEngineView.A8 52 x 74 mm
WebEngineView.A9 37 x 52 mm
WebEngineView.B0 1000 x 1414 mm
WebEngineView.B1 707 x 1000 mm
WebEngineView.B2 500 x 707 mm
WebEngineView.B3 353 x 500 mm
WebEngineView.B4 250 x 353 mm
WebEngineView.B5 176 x 250 mm, 6.93 x 9.84 inches
WebEngineView.B6 125 x 176 mm
WebEngineView.B7 88 x 125 mm
WebEngineView.B8 62 x 88 mm
WebEngineView.B9 44 x 62 mm
WebEngineView.B10 31 x 44 mm
WebEngineView.C5E 163 x 229 mm
WebEngineView.Comm10E 105 x 241 mm, U.S. Common 10 Envelope
WebEngineView.DLE 110 x 220 mm
WebEngineView.Executive 7.5 x 10 inches, 190.5 x 254 mm
WebEngineView.Folio 210 x 330 mm
WebEngineView.Ledger 431.8 x 279.4 mm
WebEngineView.Legal 8.5 x 14 inches, 215.9 x 355.6 mm
WebEngineView.Letter 8.5 x 11 inches, 215.9 x 279.4 mm
WebEngineView.Tabloid 279.4 x 431.8 mm
WebEngineView.Custom Unknown, or a user defined size.
WebEngineView.A10
WebEngineView.A3Extra
WebEngineView.A4Extra
WebEngineView.A4Plus
WebEngineView.A4Small
WebEngineView.A5Extra
WebEngineView.B5Extra
WebEngineView.JisB0
WebEngineView.JisB1
WebEngineView.JisB2
WebEngineView.JisB3
WebEngineView.JisB4
WebEngineView.JisB5
WebEngineView.JisB6
WebEngineView.JisB7
WebEngineView.JisB8
WebEngineView.JisB9
WebEngineView.JisB10
WebEngineView.AnsiA = Letter
WebEngineView.AnsiB = Ledger
WebEngineView.AnsiC
WebEngineView.AnsiD
WebEngineView.AnsiE
WebEngineView.LegalExtra
WebEngineView.LetterExtra
WebEngineView.LetterPlus
WebEngineView.LetterSmall
WebEngineView.TabloidExtra
WebEngineView.ArchA
WebEngineView.ArchB
WebEngineView.ArchC
WebEngineView.ArchD
WebEngineView.ArchE
WebEngineView.Imperial7x9
WebEngineView.Imperial8x10
WebEngineView.Imperial9x11
WebEngineView.Imperial9x12
WebEngineView.Imperial10x11
WebEngineView.Imperial10x13
WebEngineView.Imperial10x14
WebEngineView.Imperial12x11
WebEngineView.Imperial15x11
WebEngineView.ExecutiveStandard
WebEngineView.Note
WebEngineView.Quarto
WebEngineView.Statement
WebEngineView.SuperA
WebEngineView.SuperB
WebEngineView.Postcard
WebEngineView.DoublePostcard
WebEngineView.Prc16K
WebEngineView.Prc32K
WebEngineView.Prc32KBig
WebEngineView.FanFoldUS
WebEngineView.FanFoldGerman
WebEngineView.FanFoldGermanLegal
WebEngineView.EnvelopeB4
WebEngineView.EnvelopeB5
WebEngineView.EnvelopeB6
WebEngineView.EnvelopeC0
WebEngineView.EnvelopeC1
WebEngineView.EnvelopeC2
WebEngineView.EnvelopeC3
WebEngineView.EnvelopeC4
WebEngineView.EnvelopeC5 = C5E
WebEngineView.EnvelopeC6
WebEngineView.EnvelopeC65
WebEngineView.EnvelopeC7
WebEngineView.EnvelopeDL = DLE
WebEngineView.Envelope9
WebEngineView.Envelope10 = Comm10E
WebEngineView.Envelope11
WebEngineView.Envelope12
WebEngineView.Envelope14
WebEngineView.EnvelopeMonarch
WebEngineView.EnvelopePersonal
WebEngineView.EnvelopeChou3
WebEngineView.EnvelopeChou4
WebEngineView.EnvelopeInvite
WebEngineView.EnvelopeItalian
WebEngineView.EnvelopeKaku2
WebEngineView.EnvelopeKaku3
WebEngineView.EnvelopePrc1
WebEngineView.EnvelopePrc2
WebEngineView.EnvelopePrc3
WebEngineView.EnvelopePrc4
WebEngineView.EnvelopePrc5
WebEngineView.EnvelopePrc6
WebEngineView.EnvelopePrc7
WebEngineView.EnvelopePrc8
WebEngineView.EnvelopePrc9
WebEngineView.EnvelopePrc10
WebEngineView.EnvelopeYou4
WebEngineView.LastPageSize = EnvelopeYou4

該 QML 特性在 QtWebEngine 1.3 引入。

另請參閱 WebEngineView::printToPdf() .

RenderProcessTerminationStatus : enumeration

Describes the status with which the render process terminated:

常量 描述
WebEngineView.NormalTerminationStatus 渲染進程正常終止。
WebEngineView.AbnormalTerminationStatus The render process terminated with a non-zero exit status.
WebEngineView.CrashedTerminationStatus 渲染進程崩潰 (例如:由於分段故障)。
WebEngineView.KilledTerminationStatus 渲染進程被殺除,例如被 SIGKILL 或被任務管理器殺除。

該 QML 特性在 QtWebEngine 1.2 引入。

WebAction : enumeration

Describes the types of action that can be performed on a web page:

常量 描述
WebEngineView.NoWebAction 沒有動作被觸發。
WebEngineView.Back 在導航鏈接曆史中後退導航。
WebEngineView.Forward 在導航鏈接曆史中前進導航。
WebEngineView.Stop 停止加載當前頁麵。
WebEngineView.Reload 重新加載當前頁麵。
WebEngineView.ReloadAndBypassCache 重新加載當前頁麵,但不使用任何本地緩存。
WebEngineView.Cut 把目前選中內容剪切到剪貼闆。
WebEngineView.Copy 把目前選中內容拷貝到剪貼闆。
WebEngineView.Paste 從剪貼闆粘貼內容。
WebEngineView.Undo 撤消上一編輯動作。
WebEngineView.Redo 重做上一編輯動作。
WebEngineView.SelectAll Select all content.
WebEngineView.PasteAndMatchStyle 采用當前樣式從剪貼闆粘貼內容。
WebEngineView.OpenLinkInThisWindow 在當前窗口打開當前鏈接 (在 Qt 5.6 添加)。
WebEngineView.OpenLinkInNewWindow Open the current link in a new window. (Added in Qt 5.6)
WebEngineView.OpenLinkInNewTab Open the current link in a new tab. (Added in Qt 5.6)
WebEngineView.CopyLinkToClipboard 把當前鏈接拷貝到剪貼闆 (在 Qt 5.6 添加)。
WebEngineView.CopyImageToClipboard 把點擊圖像拷貝到剪貼闆 (在 Qt 5.6 添加)。
WebEngineView.CopyImageUrlToClipboard 把點擊圖像的 URL 拷貝到剪貼闆 (在 Qt 5.6 添加)。
WebEngineView.CopyMediaUrlToClipboard 把懸停音頻 (或視頻) 的 URL 拷貝到剪貼闆 (在 Qt 5.6 添加)。
WebEngineView.ToggleMediaControls 在展示和隱藏懸停音頻 (或視頻) 元素控件之間觸發 (在 Qt 5.6 添加)。
WebEngineView.ToggleMediaLoop 觸發懸停音頻 (或視頻)是否應在完成時循環 (在 Qt 5.6 添加)。
WebEngineView.ToggleMediaPlayPause 觸發懸停音頻 (或視頻) 元素的播放/暫停狀態 (在 Qt 5.6 添加)。
WebEngineView.ToggleMediaMute 靜音 (或取消靜音) 懸停音頻 (或視頻) 元素 (在 Qt 5.6 添加)。
WebEngineView.DownloadLinkToDisk Download the current link to the disk. To implement download actions, connect to the QWebEngineProfile::downloadRequested signal. (Added in Qt 5.6)
WebEngineView.DownloadImageToDisk Download the highlighted image to the disk. (Added in Qt 5.6)
WebEngineView.DownloadMediaToDisk Download the hovered audio or video to the disk. (Added in Qt 5.6)
WebEngineView.InspectElement 觸發任何附加 Web 審查程序以審查高亮元素 (在 Qt 5.6 添加)。
WebEngineView.ExitFullScreen 退齣全屏模式 (在 Qt 5.6 添加)。
WebEngineView.SavePage Save the current web page to disk. (Added in Qt 5.7)
WebEngineView.ViewSource Show the source of the current page in a new tab. (Added in Qt 5.8)

該 QML 特性在 QtWebEngine 1.2 引入。

activeFocusOnPress : bool

Specifies whether the view should gain active focus when pressed. The default value is true .

該 QML 特性在 QtWebEngine 1.2 引入。

audioMuted : bool

The state of whether the current page audio is muted.

該 QML 特性在 QtWebEngine 1.3 引入。

另請參閱 recentlyAudible .

backgroundColor : bool

Changes the color of the WebEngineView 's background, behind the document's body. Can be set to "transparent" or to a translucent color to see through the document or to match the web content in a hybrid app to prevent the white flashes that may appear during loading.

默認值為白色。

該 QML 特性在 QtWebEngine 1.2 引入。

[read-only] canGoBack : bool

返迴 true if there are prior session history entries, false 否則。

[read-only] canGoForward : bool

返迴 true if there are subsequent session history entries, false 否則。

contentsSize : size

Size of the page contents.

該 QML 特性在 QtWebEngine 1.3 引入。

[read-only] icon : url

An internal URL for accessing the currently displayed web site icon, also known as favicon or shortcut icon. The icon is already downloaded and stored by the Qt WebEngine's favicon manager. This read-only URL corresponds to the image used within a mobile browser application to represent a bookmarked page on the device's home screen.

The following snippet uses the icon property to build an 圖像 component:

Image {
    id: appIcon
    sourceSize: Qt.size(32, 32)
    source: webView.icon != "" ? webView.icon : "fallbackFavicon.png";
    // ...
}
																						

指定 sourceSize 特性為 圖像 element informs the Qt WebEngine's favicon provider about the requested size. The favicon provider tries to find the best fit among the web page candidate icons. If sourceSize property is not specified, the provider provides the icon with the largest resolution.

[read-only] isFullScreen : bool

返迴 true if the web view is in fullscreen mode, false 否則。

This QML property was introduced in QtWebEngine 1.1.

另請參閱 fullScreenRequested() and fullScreenCancelled() .

[read-only] loadProgress : int

The amount of data from the page that has been loaded, expressed as an integer percentage in the range from 0 to 100 .

[read-only] loading : bool

返迴 true if the HTML page is currently loading, false 否則。

當前視圖的導航曆史。

This QML property was introduced in QtWebEngine 1.1.

另請參閱 WebEngineHistory .

profile : WebEngineProfile

The current profile used for the view.

This QML property was introduced in QtWebEngine 1.1.

另請參閱 WebEngineProfile .

[read-only] recentlyAudible : bool

Returns the current page's audible state (audio was recently played, or not).

該 QML 特性在 QtWebEngine 1.3 引入。

另請參閱 audioMuted and recentlyAudibleChanged .

scrollPosition : point

頁麵內容的捲動位置。

該 QML 特性在 QtWebEngine 1.3 引入。

[read-only] settings : WebEngineSettings

Settings used by this view.

This QML property was introduced in QtWebEngine 1.1.

另請參閱 WebEngineSettings .

[read-only] title : string

The title of the currently displayed HTML page. This is a read-only value that reflects the contents of the <title> 標簽。

url : url

The location of the currently displayed HTML page. This writable property offers the main interface to load a page into a web view. It functions the same as the window.location DOM property.

另請參閱 loadHtml() .

[read-only] userScripts : list < WebEngineScript >

List of script objects attached to the view.

This QML property was introduced in QtWebEngine 1.1.

另請參閱 WebEngineScript .

webChannel : QQmlWebChannel

The web channel instance used by this view. This channel is automatically using the internal QtWebEngine transport mechanism over Chromium IPC, and exposed in the javascript context of the page it is rendering as qt.webChannelTransport . This transport object is used when instantiating the JavaScript counterpart of QWebChannel 使用 Qt WebChannel JavaScript API .

注意: The view does not take ownership for an assigned webChannel object.

This QML property was introduced in QtWebEngine 1.1.

webChannelWorld : int

JavaScript world that the web channel instance used by this view is installed in.

該 QML 特性在 QtWebEngine 1.3 引入。

zoomFactor : real

Zoom factor for the view. Valid values are within the range from 0.25 to 5.0 。默認因子為 1.0 .

This QML property was introduced in QtWebEngine 1.1.


信號文檔編製

activeFocusOnPressChanged ( bool activeFocusOnPress )

This signal is emitted when the ability of the web engine view to get focus when clicked changes.

This QML signal was introduced in QtWebEngine 1.2.

另請參閱 setActiveFocusOnPress() .

audioMutedChanged ( bool muted )

This signal is emitted when the page's audio is (un)muted using audioMuted 特性。

注意: Not to be confused with a specific HTML5 audio / video element being muted.

This QML signal was introduced in QtWebEngine 1.3.

另請參閱 audioMuted and recentlyAudibleChanged .

authenticationDialogRequested ( AuthenticationDialogRequest request )

This signal is emitted when an authentication dialog is requested.

The request can be handled by using the methods of the AuthenticationDialogRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default dialog from showing up. Make sure to call either AuthenticationDialogRequest::dialogAccept() or AuthenticationDialogRequest::dialogReject() afterwards.

This QML signal was introduced in QtWebEngine 1.4.

backgroundColorChanged ()

This signal is emitted when the web engine view background color changes.

This QML signal was introduced in QtWebEngine 1.2.

certificateError ( WebEngineCertificateError error )

This signal is emitted when an invalid certificate error is raised while loading a given request.

The certificate error can be handled by using the methods of the WebEngineCertificateError 類型。

This QML signal was introduced in QtWebEngine 1.1.

colorDialogRequested ( ColorDialogRequest request )

This signal is emitted when a color picker dialog is requested.

The request can be handled by using the methods of the ColorDialogRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default dialog from showing up. Make sure to call either ColorDialogRequest::dialogAccept() or ColorDialogRequest::dialogReject() afterwards.

This QML signal was introduced in QtWebEngine 1.4.

contextMenuRequested ( ContextMenuRequest request )

This signal is emitted when a context menu is requested.

The request can be handled by using the properties of the ContextMenuRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default context menu from showing up.

This QML signal was introduced in QtWebEngine 1.4.

featurePermissionRequested ( url securityOrigin , Feature feature )

此信號被發射當網站被標識通過 securityOrigin 請求使用資源 (或設備) 的標識通過 feature .

This QML signal was introduced in QtWebEngine 1.1.

另請參閱 grantFeaturePermission() .

fileDialogRequested ( FileDialogRequest request )

This signal is emitted when a file picker dialog is requested.

The request error can be handled by using the methods of the FileDialogRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default dialog from showing up. Make sure to call either FileDialogRequest::dialogAccept() or FileDialogRequest::dialogReject() afterwards.

This QML signal was introduced in QtWebEngine 1.4.

formValidationMessageRequested ( FormValidationMessageRequest request )

This signal is emitted when a validation message is requested.

The request can be handled by using the methods of the FormValidationMessageRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default dialog from showing up.

This QML signal was introduced in QtWebEngine 1.4.

fullScreenRequested ( WebEngineFullScreenRequest request )

This signal is emitted when the web page requests fullscreen mode through the JavaScript API.

This QML signal was introduced in QtWebEngine 1.1.

另請參閱 isFullScreen .

javaScriptConsoleMessage ( JavaScriptConsoleMessageLevel level , string message , int lineNumber , string sourceID )

This signal is emitted when a JavaScript program tries to print a 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.

If no handler is specified, the view will log the messages into a js 日誌類彆 .

另請參閱 控製颱日誌 .

javaScriptDialogRequested ( JavaScriptDialogRequest request )

This signal is emitted when a JavaScript dialog is requested.

The request can be handled by using the methods of the JavaScriptDialogRequest 類型。

注意: Signal handlers need to call request.accepted = true to prevent a default dialog from showing up. Make sure to call either JavaScriptDialogRequest::dialogAccept() or JavaScriptDialogRequest::dialogReject() afterwards.

This QML signal was introduced in QtWebEngine 1.4.

linkHovered ( url hoveredUrl )

Within a mouse-driven interface, this signal is emitted when a mouse pointer passes over a link, corresponding to the mouseover DOM event. This event may also occur in touch interfaces for mouseover events that are not cancelled with preventDefault() . hoveredUrl provides the link's location.

loadingChanged ( WebEngineLoadRequest loadRequest )

This signal is emitted when a page load begins, ends, or fails.

When handling the signal with onLoadingChanged , various read-only parameters are available on the WebEngineLoadRequest 指定通過 loadRequest .

另請參閱 loading , LoadStatus ,和 ErrorDomain .

This signal is emitted when the navigation request request is issued.

newViewRequested ( WebEngineNewViewRequest request )

This signal is emitted when a page load is requested to happen in a separate web engine view. This can either be because the current page requested it explicitly through a JavaScript call to window.open , or because the user clicked on a link while holding Shift, Ctrl, or a built-in combination that triggers the page to open in a new window.

If this signal is not handled, the requested load will fail.

An example implementation:

QtObject {
    id: windowParent
    // Create the initial browsing windows and open the startup page.
    Component.onCompleted: {
        var firstWindow = windowComponent.createObject(windowParent);
        firstWindow.webView.loadHtml('<input type="button" value="Click!" onclick="window.open("http://qt.io")">');
    }
    property Component windowComponent: Window {
        // Destroy on close to release the Window's QML resources.
        // Because it was created with a parent, it won't be garbage-collected.
        onClosing: destroy()
        visible: true
        property WebEngineView webView: webView_
        WebEngineView {
            id: webView_
            anchors.fill: parent
            // Handle the signal. Dynamically create the window and
            // use its WebEngineView as the destination of our request.
            onNewViewRequested: function(request) {
                var newWindow = windowComponent.createObject(windowParent);
                request.openIn(newWindow.webView);
            }
        }
    }
}
																																																					

This QML signal was introduced in QtWebEngine 1.1.

另請參閱 NewViewDestination and WebEngine Quick 納米瀏覽器 .

pdfPrintingFinished ( string filePath , bool success )

此信號被發射,當把網頁打印成 PDF 文件完成時。 filePath 將包含請求創建的文件路徑,且 success 將是 true 若成功創建文件且 false 否則。

This QML signal was introduced in QtWebEngine 1.5.

另請參閱 printToPdf() .

recentlyAudibleChanged ( bool recentlyAudible )

This signal is emitted when the page's audible state is changed, due to audio being played or stopped.

注意: The signal is also emitted when the audioMuted property changes. Also if the audio is paused, this signal is emitted with an approximate 2 秒延遲 ,從音頻被暫停的那一刻起。

This signal is also emitted for Flash plugin audio.

If a web page contains two videos that are started in sequence, this signal gets emitted only once, for the first video to generate sound. After both videos are stopped, the signal is emitted upon the last sound generated. This means that the signal is emitted both when any kind of sound is generated and when everything is completely silent within a web page, regardless of the number of audio streams.

Spurious signal emissions might also happen. For example, when sound is stopped, this signal gets emitted first with a value of true , and then with a value of false . Further, when audio starts playing, the signal is emitted twice with a value of true .

This QML signal was introduced in QtWebEngine 1.3.

另請參閱 recentlyAudible .

renderProcessTerminated ( RenderProcessTerminationStatus terminationStatus , int exitCode )

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

This QML signal was introduced in QtWebEngine 1.2.

另請參閱 RenderProcessTerminationStatus .

wasRecentlyAudibleChanged ( bool wasRecentlyAudible )

This signal is emitted when the page's audible state is changed, due to audio being played or stopped.

注意: The signal is also emitted when calling the setAudioMuted method. Also if the audio is paused, this signal is emitted with an approximate 2 second delay ,從音頻被暫停的那一刻起。

This QML signal was introduced in QtWebEngine 1.3.

windowCloseRequested ()

此信號被發射每當頁麵請求關閉 Web 瀏覽器窗口時,例如透過 JavaScript window.close() 調用。

This QML signal was introduced in QtWebEngine 1.2.


方法文檔編製

void findText ( string subString , FindFlags options , variant resultCallback )

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

要清零搜索高亮,隻需傳遞空字符串。

The resultCallback must take a boolean parameter. It will be called with a value of true if the subString was found; otherwise the callback value will be false.

findText("Qt", WebEngineView.FindCaseSensitively, function(success) {
    if (success)
        console.log("Qt was found!");
});
																																																											

This QML method was introduced in QtWebEngine 1.1.

void findText ( string subString , FindFlags options )

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

要清零搜索高亮,隻需傳遞空字符串。

findText("Qt", WebEngineView.FindBackward | WebEngineView.FindCaseSensitively);
																																																												

This QML method was introduced in QtWebEngine 1.1.

void findText ( string subString )

查找指定字符串, subString , in the page.

要清零搜索高亮,隻需傳遞空字符串。

This QML method was introduced in QtWebEngine 1.1.

void fullScreenCancelled ()

Immediately sets isFullScreen 特性到 false . It can be used to notify the browser engine when the windowing system forces the application to leave fullscreen mode.

ApplicationWindow {
    onVisibilityChanged: {
        if (webEngineView.isFullScreen && visibility != Window.FullScreen)
            webEngineView.fullScreenCancelled()
    }
    WebEngineView {
        id: webEngineView
        // ...
    }
}
																																																														

This QML method was introduced in QtWebEngine 1.1.

另請參閱 isFullScreen and fullScreenRequested() .

void goBack ()

Go backward within the browser's session history, if possible. This function is equivalent to the window.history.back() DOM method.

另請參閱 canGoBack .

void goBackOrForward ( int offset )

offset is positive, goes forward the specified number of offset pages in the current session history. If offset is negative, it goes back. If the offset is invalid, the page is not changed.

This QML method was introduced in QtWebEngine 1.1.

另請參閱 goBack() and goForward() .

void goForward ()

Go forward within the browser's session history, if possible. This function is equivalent to the window.history.forward() DOM method.

void grantFeaturePermission ( url securityOrigin , Feature feature , bool granted )

Sets or unsets the permission, depending on granted , for the web site identified by securityOrigin 要使用 feature .

This QML method was introduced in QtWebEngine 1.1.

另請參閱 featurePermissionRequested() .

void loadHtml ( string html , url baseUrl )

加載指定 html as the content of the web view.

This method offers a lower-level alternative to the url property, which references HTML pages via URL.

External objects, such as stylesheets or images referenced in the HTML document, should be located relative to baseUrl . For example, if html 檢索自 http://www.example.com/documents/overview.html ,其是基 URL,然後相對 URL 引用圖像, diagram.png ,應該在 http://www.example.com/documents/diagram.png .

另請參閱 url .

void printToPdf ( variant resultCallback , PrintedPageSizeId pageSizeId , PrintedPageOrientation orientation )

Prints the WebEngineView 's current content to a PDF document and returns it in a byte array. The document's size will be determined by the value of pageSizeId and its orientation will be determined using orientation .

The resultCallback must take a string parameter. This string will contain the document's data upon successful printing and an empty string otherwise.

If you leave out pageSizeID , it defaults to A4 . If you leave out orientation , it defaults to Portrait .

This QML method was introduced in QtWebEngine 1.3.

void printToPdf (const string filePath , PrintedPageSizeId pageSizeId , PrintedPageOrientation orientation )

Prints the WebEngineView 's current content to a PDF document and stores it under filePath . The document's size will be determined by the value of pageSizeId and its orientation will be determined using orientation .

為將網頁打印成 PDF,此方法發齣異步請求,並立即返迴。要通報請求的有關結果,連接到信號 pdfPrintingFinished() .

If you leave out pageSizeID , it defaults to A4 . If you leave out orientation , it defaults to Portrait .

This QML method was introduced in QtWebEngine 1.3.

另請參閱 pdfPrintingFinished() .

void reload ()

Reloads the current page. This function is equivalent to the window.location.reload() DOM method.

另請參閱 reloadAndBypassCache() .

void reloadAndBypassCache ()

Reloads the current page, ignoring any cached content.

This QML method was introduced in QtWebEngine 1.1.

另請參閱 reload() .

void replaceMisspelledWord (const QString & replacement )

替換當前拼寫錯誤單詞采用 replacement .

This QML method was introduced in QtWebEngine 1.3.

void runJavaScript ( string script , variant callback )

Runs the specified script in the content of the web view.

The callback parameter is optional. If a callback function is provided, it will be invoked after the script finishes running.

runJavaScript("document.title", function(result) { console.log(result); });
																																																																									

The script will run in the same world as other scripts that are part of the loaded site.

警告: Do not execute lengthy routines in the callback function, because it might block the rendering of the web content.

WebEngineView::userScripts for an alternative API to inject scripts.

void setActiveFocusOnPress ( bool arg )

Sets active focus to a clicked web engine view if arg is true . By setting it to false , a web engine view can be used to create a UI element that should not get focus. This can be useful in a hybrid UI.

This QML method was introduced in QtWebEngine 1.2.

另請參閱 activeFocusOnPressChanged and WebEngineSettings::focusOnNavigationEnabled .

void stop ()

停止加載當前頁麵。

void triggerWebAction ( WebAction action )

觸發 Web 動作 action .

This QML method was introduced in QtWebEngine 1.2.

另請參閱 WebAction .