WebEngineView QML 类型

WebEngineView 渲染 QML 应用程序中的 Web 内容。 更多...

import 语句: import QtWebEngine
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 QtWebEngineQuick::initialize 在应用程序主源文件中,如以下代码段所示:

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

加载网页

An application can load pages into the 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 history 特性。

以下样本 QML 应用程序加载网页使用 url 特性:

import QtQuick
import QtQuick.Window
import QtWebEngine
Window {
    width: 1024
    height: 750
    visible: true
    WebEngineView {
        anchors.fill: parent
        url: "https://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 newWindowRequested () 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 WebEngineNewWindowRequest 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 make the view automatically receive 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 FullScreenRequest 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 特征 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 QtWebEngineQuick::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.

特征 : 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 音频和视频捕获设备。
DesktopVideoCapture Video output capture, that is, the capture of the user's display. (Added in Qt 5.10)
DesktopAudioVideoCapture 音频和视频两者输出捕获 (在 Qt 5.10 添加)。
WebEnginView.Notifications 最终用户的 Web 通知。

另请参阅 featurePermissionRequested () 和 grantFeaturePermission ().

FindFlags : enumeration

描述的选项可用于 findText () 函数。来自以下列表中的选项可以 OR 在一起:

常量 描述
WebEngineView.FindBackward 向后搜索,而不是向前。
WebEngineView.FindFlags FindCaseSensitively By default findText () 工作不区分大小写。指定此选项把行为改为区分大小写的查找操作。

另请参阅 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.

LifecycleState : enumeration [since QtWebEngine 1.10]

此枚举描述页面生命周期状态:

常量 描述
WebEngineView.LifecycleState.Active 正常状态。
WebEngineView.LifecycleState.Frozen 低 CPU 使用率状态,挂起大多数 HTML 任务源。
WebEngineView.LifecycleState.Discarded 很低资源使用率状态 (整个浏览上下文被丢弃)。

该特性在 QtWebEngine 1.10 引入。

另请参阅 lifecycleState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

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.

PrintedPageOrientation : enumeration [since QtWebEngine 1.3]

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.

该特性在 QtWebEngine 1.3 引入。

另请参阅 WebEngineView::printToPdf ().

PrintedPageSizeId : enumeration [since QtWebEngine 1.3]

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

该特性在 QtWebEngine 1.3 引入。

另请参阅 WebEngineView::printToPdf ().

RenderProcessTerminationStatus : enumeration [since QtWebEngine 1.2]

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 或被任务管理器杀除。

This property was introduced in QtWebEngine 1.2.

WebAction : enumeration [since QtWebEngine 1.2]

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 选择所有内容。才启用此动作,当聚焦页面内容时。可以强制聚焦通过 JavaScript window.focus() 调用,或 focusOnNavigationEnabled 设置应启用以获得自动聚焦。
WebEngineView.PasteAndMatchStyle 采用当前样式从剪贴板粘贴内容。
WebEngineView.OpenLinkInThisWindow 在当前窗口打开当前链接 (在 Qt 5.6 添加)。
WebEngineView.OpenLinkInNewWindow Open the current link in a new window. Requires a handler for the newWindowRequested () signal. (Added in Qt 5.6)
WebEngineView.OpenLinkInNewTab Open the current link in a new tab. Requires a handler for the newWindowRequested () signal. (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 WebEngineProfile.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. Requires a handler for the newWindowRequested () signal. (Added in Qt 5.8)
WebEngineView.ToggleBold 触发选定或光标位置处的粗体。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.ToggleItalic 触发选定或光标位置处的斜体。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.ToggleUnderline 触发选定或光标位置处的下划线。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.ToggleStrikethrough 触发选定或光标位置处的删除线。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.AlignLeft 左对齐行所包含的选定或光标。需要 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.AlignCenter 居中对齐行所包含的选定或光标。需要 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.AlignRight 右对齐行所包含的选定或光标。需要 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.AlignJustified 拉伸包含选定或光标的行,以使每行拥有相等宽度。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.Indent 缩进包含选定或光标的行。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.Outdent 伸出包含选定或光标的行。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.InsertOrderedList 将有序列表插入在当前光标位置处,删除当前选定。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.InsertUnorderedList 将无序列表插入在当前光标位置处,删除当前选定。要求 contenteditable="true" (在 Qt 5.10 添加)。
WebEngineView.ChangeTextDirectionLTR Changes text direction to left-to-right in the focused input element. (Added in Qt 6.6)
WebEngineView.ChangeTextDirectionRTL Changes text direction to right-to-left in the focused input element. (Added in Qt 6.6)

This property was introduced in QtWebEngine 1.2.

activeFocusOnPress : bool [since QtWebEngine 1.2]

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

This property was introduced in QtWebEngine 1.2.

audioMuted : bool [since QtWebEngine 1.3]

The state of whether the current page audio is muted.

该特性在 QtWebEngine 1.3 引入。

另请参阅 recentlyAudible .

backgroundColor : color [since QtWebEngine 1.2]

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.

默认值为白色。

This property was introduced in QtWebEngine 1.2.

canGoBack : bool [read-only]

返回 true if there are prior session history entries, false 否则。

canGoForward : bool [read-only]

返回 true if there are subsequent session history entries, false 否则。

contentsSize : size [read-only, since QtWebEngine 1.3]

Size of the page contents.

该特性在 QtWebEngine 1.3 引入。

devToolsId : WebEngineView [read-only, since QtWebEngine 6.6]

The id of the developer tools host associated with this page.

If remote debugging is enabled (see Qt WebEngine 开发者工具 ), the id can be used to build the URL to connect to the developer tool websocket: ws://localhost:<debugggin-port>/devtools/page/<id>) . The websocket can be used to to interact with the page using the DevTools Protocol .

This property was introduced in QtWebEngine 6.6.

devToolsView : WebEngineView [since QtWebEngine 1.7]

The view currently hosting the developer tools for this view. Setting it to a new view will navigate that view to an internal URL with the developer tools, and bind it to this view.

该特性在 QtWebEngine 1.7 引入。

另请参阅 inspectedView .

history : WebEngineHistory [read-only, since QtWebEngine 1.1]

当前视图的导航历史。

该特性在 QtWebEngine 1.1 引入。

另请参阅 WebEngineHistory .

icon : url [read-only]

An internal URL for accessing the currently displayed web site icon, also known as favicon or shortcut icon. 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";
    // ...
}
					

指定 Image::sourceSize property informs the Qt WebEngine's favicon provider about the requested size and resizes the icon to it. If Image::sourceSize property is not specified, the provider provides the icon with the largest available resolution.

inspectedView : WebEngineView [since QtWebEngine 1.7]

The view this view is currently inspecting, if any. Setting it will navigate to an internal URL with the developer tools of the view set.

It is recommended to unset this property when developer tools are not visible; otherwise some debug information may appear in the inspected WebEngineView .

该特性在 QtWebEngine 1.7 引入。

另请参阅 devToolsView .

isFullScreen : bool [read-only, since QtWebEngine 1.1]

返回 true if the web view is in fullscreen mode, false 否则。

该特性在 QtWebEngine 1.1 引入。

另请参阅 fullScreenRequested () 和 fullScreenCancelled ().

lifecycleState : LifecycleState [since QtWebEngine 1.10]

页面的当前生命周期状态。

以下限定由 setter 实施:

  • A visible page must remain in the Active 状态。
  • 若页面正在被审查通过 devToolsView 那么 2 页面都必须保留在 Active 状态。
  • 页面在 Discarded 状态,才能过渡到 Active 状态。这会导致页面的重新加载。

这些是对生命周期状态的唯一硬性限制,另请参阅 recommendedState 了解推荐的软限制。

该特性在 QtWebEngine 1.10 引入。

另请参阅 recommendedState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

loadProgress : int [read-only]

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

loading : bool [read-only]

返回 true if the HTML page is currently loading, false 否则。

profile : WebEngineProfile [since QtWebEngine 1.1]

The current profile used for the view.

该特性在 QtWebEngine 1.1 引入。

另请参阅 WebEngineProfile .

recentlyAudible : bool [read-only, since QtWebEngine 1.3]

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

该特性在 QtWebEngine 1.3 引入。

另请参阅 audioMuted and recentlyAudibleChanged .

recommendedState : LifecycleState [read-only, since QtWebEngine 1.10]

The recommended limit for the lifecycle state of the page.

把生命周期状态设为低于推荐状态的资源使用率状态可能导致副作用 (譬如:停止后台音频回放或丢失 HTML 表单输入)。不管怎样,把生命周期状态设为更高资源状态是完全安全的。

该特性在 QtWebEngine 1.10 引入。

另请参阅 lifecycleState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

renderProcessPid : qint64 [read-only, since QtWebEngine 1.11]

Returns the process ID (PID) of the render process assigned to the current page's main frame.

若尚无可用渲染进程, 0 被返回。

该特性在 QtWebEngine 1.11 引入。

另请参阅 renderProcessPidChanged .

scrollPosition : point [read-only, since QtWebEngine 1.3]

页面内容的卷动位置。

该特性在 QtWebEngine 1.3 引入。

settings : WebEngineSettings [read-only, since QtWebEngine 1.1]

Settings used by this view.

该特性在 QtWebEngine 1.1 引入。

另请参阅 WebEngineSettings .

title : string [read-only]

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

touchHandleDelegate : Component [since QtWebEngine 6.4]

The touchHandleDelegate provides a template defining visual touch handles instantiated by the view whenever touch selection handling is required.

The handle's position, opacity, and visibility are updated automatically. The delegate should be a QML Item or any QML type which inherits it.

注意: If no QML Item is set, the default touch handles will be shown.

The following code uses a custom touch handle delegate:

WebEngineView {
// ...
    touchHandleDelegate: Rectangle {
        color: "red"
    }
    // ...
}
					

The touch handles can be also switched dynamically:

 Component {
    id: circleTouchHandle
    Rectangle {
        color: "blue"
        radius: 50
    }
}
function showDefaultHandle(isDefault) {
    if (isDefault)
        webEngineView.touchHandleDelegate = circleTouchHandle
    else
        webEngineView.touchHandleDelegate = null
}
					

注意: If no delegate is provided, Chromium's default touch handles will appear.

This property was introduced in QtWebEngine 6.4.

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 ().

userScripts : WebEngineScriptCollection [read-only, since QtWebEngine 1.1]

The user scripts' collection associated with the view.

该特性在 QtWebEngine 1.1 引入。

另请参阅 WebEngineScriptCollection .

webChannel : QQmlWebChannel [since QtWebEngine 1.1]

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.

该特性在 QtWebEngine 1.1 引入。

webChannelWorld : int [since QtWebEngine 1.3]

JavaScript world that the web channel instance used by this view is installed in. The world must be a number between 0 and 256 .

该特性在 QtWebEngine 1.3 引入。

zoomFactor : real [since QtWebEngine 1.1]

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

该特性在 QtWebEngine 1.1 引入。

信号文档编制

[since QtWebEngine 1.2] activeFocusOnPressChanged ( bool activeFocusOnPress )

This signal is emitted when the value of activeFocusOnPress changes. It specifies whether the view should gain active focus when pressed.

注意: 相应处理程序是 onActiveFocusOnPressChanged .

该信号在 QtWebEngine 1.2 引入。

另请参阅 activeFocusOnPress and setActiveFocusOnPress ().

[since QtWebEngine 1.3] audioMutedChanged ( bool muted )

This signal is emitted when the value of muted changes. The value is specified using the audioMuted 特性。

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

注意: 相应处理程序是 onAudioMutedChanged .

该信号在 QtWebEngine 1.3 引入。

另请参阅 audioMuted and recentlyAudibleChanged .

[since QtWebEngine 1.4] 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 () 或 AuthenticationDialogRequest::dialogReject () afterwards.

注意: 相应处理程序是 onAuthenticationDialogRequested .

该信号在 QtWebEngine 1.4 引入。

[since QtWebEngine 1.2] backgroundColorChanged ()

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

注意: 相应处理程序是 onBackgroundColorChanged .

该信号在 QtWebEngine 1.2 引入。

[since QtWebEngine 1.1] certificateError ( WebEngineCertificateError error )

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

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

注意: 相应处理程序是 onCertificateError .

该信号在 QtWebEngine 1.1 引入。

[since QtWebEngine 1.4] 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 () 或 ColorDialogRequest::dialogReject () afterwards.

注意: 相应处理程序是 onColorDialogRequested .

该信号在 QtWebEngine 1.4 引入。

[since 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.

注意: 相应处理程序是 onContextMenuRequested .

该信号在 QtWebEngine 1.4 引入。

[since QtWebEngine 1.1] featurePermissionRequested ( url securityOrigin , 特征 feature )

此信号被发射当网站被标识,通过 securityOrigin 请求使用资源 (或设备) 的标识通过 feature .

注意: 相应处理程序是 onFeaturePermissionRequested .

该信号在 QtWebEngine 1.1 引入。

另请参阅 grantFeaturePermission ().

[since QtWebEngine 1.4] fileDialogRequested ( FileDialogRequest request )

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

The request 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 () 或 FileDialogRequest::dialogReject () afterwards.

注意: 相应处理程序是 onFileDialogRequested .

该信号在 QtWebEngine 1.4 引入。

[since QtWebEngine 1.10] findTextFinished ( FindTextResult result )

This signal is emitted when a string search on a page is completed. result 是字符串搜索的结果。

注意: 相应处理程序是 onFindTextFinished .

该信号在 QtWebEngine 1.10 引入。

另请参阅 findText () 和 FindTextResult .

[since QtWebEngine 1.1] fullScreenRequested ( FullScreenRequest request )

This signal is emitted when the web page issues the request for fullscreen mode through the JavaScript API.

注意: 相应处理程序是 onFullScreenRequested .

该信号在 QtWebEngine 1.1 引入。

另请参阅 isFullScreen .

[since QtWebEngine 1.7] geometryChangeRequested ( rect geometry , rect frameGeometry )

此信号被发射每当文档希望把页面位置和大小更改为 frameGeometry 。这会发生,例如透过 JavaScript。

While frameGeometry includes, geometry excludes the size of frame margins.

注意: Geometry related properties of QML Window expect a size excluding the window decoration. You have to use geometry 以正确处理此信号。

onGeometryChangeRequested: {
    window.x = geometry.x
    window.y = geometry.y
    window.width = geometry.width
    window.height = geometry.height
}
					

注意: 相应处理程序是 onGeometryChangeRequested .

该信号在 QtWebEngine 1.7 引入。

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

This signal is emitted when a JavaScript program tries to print a message to the web browser's console.

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 日志类别 .

注意: 相应处理程序是 onJavaScriptConsoleMessage .

另请参阅 控制台日志 .

[since QtWebEngine 1.4] 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 () 或 JavaScriptDialogRequest::dialogReject () afterwards.

注意: 相应处理程序是 onJavaScriptDialogRequested .

该信号在 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.

注意: 相应处理程序是 onLinkHovered .

loadingChanged ( WebEngineLoadingInfo loadingInfo )

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 WebEngineLoadingInfo 指定通过 loadingInfo .

注意: 相应处理程序是 onLoadingChanged .

另请参阅 loading , LoadStatus ,和 ErrorDomain .

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

注意: 相应处理程序是 onNavigationRequested .

[since QtWebEngine 2.0] newWindowRequested ( WebEngineNewWindowRequest request )

此信号发射当 request is issued to load a page 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.

The signal is handled by calling acceptAsNewWindow () on the destination view. 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.
            onNewWindowRequested: function(request) {
                var newWindow = windowComponent.createObject(windowParent);
                newWindow.webView.acceptAsNewWindow(request);
            }
        }
    }
}
					

注意: 相应处理程序是 onNewWindowRequested .

This signal was introduced in QtWebEngine 2.0.

另请参阅 WebEngineNewWindowRequest and WebEngine Quick 纳米浏览器 .

[since QtWebEngine 1.5] pdfPrintingFinished ( string filePath , bool success )

此信号被发射,当把网页打印成 PDF 文件完成时。 filePath 将包含请求创建的文件路径,且 success 将是 true 若成功创建文件且 false 否则。

注意: 相应处理程序是 onPdfPrintingFinished .

该信号在 QtWebEngine 1.5 引入。

另请参阅 printToPdf ().

[since QtWebEngine 1.8] printRequested ()

此信号被发射当 JavaScript window.print() method is called or the user pressed the print button of PDF viewer plugin. Typically, the signal handler can simply call printToPdf ().

注意: 相应处理程序是 onPrintRequested .

该信号在 QtWebEngine 1.8 引入。

另请参阅 printToPdf .

[since QtWebEngine 1.3] recentlyAudibleChanged ( bool recentlyAudible )

This signal is emitted when the page's audible state, specified by recentlyAudible , 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 秒延迟 ,从音频被暂停的那一刻起。

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 .

注意: 相应处理程序是 onRecentlyAudibleChanged .

该信号在 QtWebEngine 1.3 引入。

另请参阅 recentlyAudible .

[since QtWebEngine 1.7] registerProtocolHandlerRequested ( RegisterProtocolHandlerRequest request )

This signal is emitted when the web page tries to register a custom protocol by issuing a registerProtocolHandler request .

注意: 相应处理程序是 onRegisterProtocolHandlerRequested .

该信号在 QtWebEngine 1.7 引入。

另请参阅 RegisterProtocolHandlerRequest .

[since QtWebEngine 1.11] renderProcessPidChanged ( qint64 pid )

若尚无可用渲染进程, 0 is returned. This signal is emitted when pid (process ID) of the page's underlying render process changed.

注意: 相应处理程序是 onRenderProcessPidChanged .

该信号在 QtWebEngine 1.11 引入。

另请参阅 renderProcessPid .

[since QtWebEngine 1.2] renderProcessTerminated ( RenderProcessTerminationStatus terminationStatus , int exitCode )

此信号被发射当渲染进程采用非零退出状态被终止时。 terminationStatus 是进程的终止状态,且 exitCode 是进程终止的状态码。

注意: 相应处理程序是 onRenderProcessTerminated .

该信号在 QtWebEngine 1.2 引入。

另请参阅 RenderProcessTerminationStatus .

[since QtWebEngine 1.9] selectClientCertificate ( WebEngineClientCertificateSelection clientCertificateSelection )

This signal is emitted when a web site requests an SSL client certificate, and one or more were found in the system's client certificate store.

处理信号是异步的,且加载会等待直到证书被选中,或上一拷贝 clientCertificateSelection 被销毁。

若信号未被处理, clientCertificateSelection 被自动销毁,且将在没有客户端证书的情况下继续加载。

注意: 相应处理程序是 onSelectClientCertificate .

该信号在 QtWebEngine 1.9 引入。

另请参阅 WebEngineClientCertificateSelection .

[since QtWebEngine 1.10] tooltipRequested ( TooltipRequest request )

This signal is emitted when the web page sends a request to show a tooltip at a specified position.

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

注意: 相应处理程序是 onTooltipRequested .

该信号在 QtWebEngine 1.10 引入。

另请参阅 TooltipRequest .

[since QtWebEngine 6.3] touchSelectionMenuRequested ( TouchSelectionMenuRequest * request )

This signal is emitted when a touch selection menu is requested at a specified position.

The request can be handled by using the methods of the TouchSelectionMenuRequest 类型。

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

注意: 相应处理程序是 onTouchSelectionMenuRequested .

This signal was introduced in QtWebEngine 6.3.

另请参阅 TouchSelectionMenuRequest .

[since QtWebEngine 1.3] wasRecentlyAudibleChanged ( bool wasRecentlyAudible )

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

注意: The signal is also emitted when calling the setAudioMuted method.

注意: 相应处理程序是 onWasRecentlyAudibleChanged .

该信号在 QtWebEngine 1.3 引入。

[since QtWebEngine 6.7] webAuthUxRequested ( QWebEngineWebAuthUxRequest * request )

This signal is emitted when a WebAuth authenticator requires user interaction during the authentication process. These requests are handled by displaying a dialog to the user.

The request contains the information and API required to complete the WebAuth UX request.

注意: 相应处理程序是 onWebAuthUxRequested .

This signal was introduced in QtWebEngine 6.7.

另请参阅 QWebEngineWebAuthUxRequest .

[since QtWebEngine 1.2] windowCloseRequested ()

此信号被发射每当页面请求关闭 Web 浏览器窗口时,例如透过 JavaScript window.close() 调用。

注意: 相应处理程序是 onWindowCloseRequested .

该信号在 QtWebEngine 1.2 引入。

方法文档编制

[since QtWebEngine 2.0] void acceptAsNewWindow ( QWebEngineNewWindowRequest * request )

Handle the newWindowRequested signal by opening the request in this view.

This method was introduced in QtWebEngine 2.0.

另请参阅 newWindowRequested .

WebEngineAction action ( WebAction action )

返回 WebEngineAction 为指定 WebAction action . WebEngineView also takes care of implementing the action, so that upon triggering the corresponding action is performed on the view.

var copyAction = webEngineView.action(WebEngineView.Copy);
					

另请参阅 WebEngineAction .

[since QtWebEngine 1.1] void findText ( string subString )

查找指定字符串, subString , in the page. The findTextFinished () 信号被发射当字符串搜索完成时。

要清零搜索高亮,只需传递空字符串。

该方法在 QtWebEngine 1.1 引入。

另请参阅 findTextFinished ().

[since QtWebEngine 1.1] void findText ( string subString , FindFlags options )

查找指定字符串, subString ,在页面使用给定 options findTextFinished () 信号被发射当字符串搜索完成时。

要清零搜索高亮,只需传递空字符串。

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

该方法在 QtWebEngine 1.1 引入。

另请参阅 findTextFinished ().

[since QtWebEngine 1.1] void findText ( string subString , FindFlags options , variant resultCallback )

查找指定字符串, subString ,在页面使用给定 options findTextFinished () 信号被发射当字符串搜索完成时。

要清零搜索高亮,只需传递空字符串。

The resultCallback must take an integer parameter. It will be called with the number of found occurrences of the subString .

findText("Qt", WebEngineView.FindCaseSensitively, function(matchCount) {
    if (matchCount > 0)
        console.log("'Qt' tokens found:", matchCount);
});
					

该方法在 QtWebEngine 1.1 引入。

另请参阅 findTextFinished ().

[since 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
        // ...
    }
}
					

该方法在 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 .

[since QtWebEngine 1.1] 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.

该方法在 QtWebEngine 1.1 引入。

另请参阅 goBack () 和 goForward ().

void goForward ()

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

[since QtWebEngine 1.1] void grantFeaturePermission ( url securityOrigin , 特征 feature , bool granted )

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

该方法在 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.

baseUrl is optional and used to resolve relative URLs in the document, such as referenced images or stylesheets. For example, if html 检索自 http://www.example.com/documents/overview.html ,其是基 URL,然后相对 URL 引用图像, diagram.png ,应该在 http://www.example.com/documents/diagram.png .

另请参阅 url .

[since 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 .

This method issues an asynchronous request for printing the web page into a PDF and returns immediately. To be informed about the result of the request, connect to the signal pdfPrintingFinished ().

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

该方法在 QtWebEngine 1.3 引入。

另请参阅 pdfPrintingFinished ().

[since QtWebEngine 1.3] 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 .

该方法在 QtWebEngine 1.3 引入。

void reload ()

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

另请参阅 reloadAndBypassCache ().

[since QtWebEngine 1.1] void reloadAndBypassCache ()

Reloads the current page, ignoring any cached content.

该方法在 QtWebEngine 1.1 引入。

另请参阅 reload ().

[since QtWebEngine 1.3] void replaceMisspelledWord (const QString & replacement )

替换当前拼写错误单词采用 replacement .

该方法在 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); });
					

仅纯数据可以被返回从 JavaScript 作为结果值。支持的数据类型包括所有 JSON 数据类型,例如, Date and ArrayBuffer 。不支持的数据类型包括,例如, 函数 and Promise .

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.

For more information about injecting scripts, see 脚本注入 . For an alternative way to inject scripts, see WebEngineView::userScripts .

[since QtWebEngine 6.6] void save (const QString & filePath , QWebEngineDownloadRequest::SavePageFormat format )

Save the current web page to disk.

网页被保存到 filePath 以指定 format .

This is a shortcut for the following actions:

  • 触发保存 Web 动作。
  • 接受下一下载项,并设置指定文件路径和保存格式。

此函数为网页发出异步下载请求,并立即返回。

This method was introduced in QtWebEngine 6.6.

另请参阅 QWebEngineDownloadRequest::SavePageFormat .

[since QtWebEngine 1.2] 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.

该方法在 QtWebEngine 1.2 引入。

另请参阅 activeFocusOnPress , activeFocusOnPressChanged ,和 WebEngineSettings::focusOnNavigationEnabled .

void stop ()

停止加载当前页面。

[since QtWebEngine 1.2] void triggerWebAction ( WebAction action )

触发 Web 动作 action .

该方法在 QtWebEngine 1.2 引入。

另请参阅 WebAction .