PySide6.QtWebEngineCore.QWebEnginePage

class QWebEnginePage

QWebEnginePage 类提供了一个用于查看和编辑网页文档的对象。更多

PySide6.QtWebEngineCore.QWebEnginePage 的继承图

概要

属性

方法

虚拟方法

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

一个网页引擎页面包含HTML文档的内容、导航链接的历史记录以及操作。

QWebEnginePage 的 API 与 QWebEngineView 非常相似,因为你仍然可以使用常见的函数,如 action()(在 QWebEngineView 中称为 pageAction ())、triggerAction()findText()

可以使用load()setUrl()加载页面。另外,如果您已经有现成的HTML内容,可以使用setHtml()。加载URL时始终使用GET方法。

QWebEnginePage 类还提供了方法来检索页面当前加载的URL(参见 url())以及最初请求加载的URL(参见 requestedUrl())。这些方法使得在加载过程中发生DNS解析或重定向之前和之后检索URL成为可能。如果加载成功,requestedUrl() 也匹配添加到页面历史记录(QWebEngineHistory)中的URL。

HTML页面的标题可以通过title()属性访问。此外,页面还可以指定一个图标,可以使用icon()或使用iconUrl()属性访问其URL。如果标题或图标发生变化,将发出相应的titleChanged()iconChanged()iconUrlChanged()信号。zoomFactor()属性允许通过缩放因子缩放网页内容。

当页面开始加载时,会发出loadStarted()信号,而每当网页的一个元素(如嵌入的图像或脚本)完成加载时,会发出loadProgress()信号。当页面内容完全加载完毕时,会发出loadFinished()信号,这与脚本执行或页面渲染无关。它的参数truefalse表示加载操作是否成功。

HTML文档在网页的主框架中加载。如果它引用了子框架(由元素定义),它们被视为内容的一部分。子框架只能通过JavaScript单独访问。

网站定义了安全源,以便安全地访问彼此的资源,用于客户端脚本或数据库。一个源由主机名、方案和端口号组成。例如,站点http://www.example.com/my/page.htmlhttp://www.example.com/my/overview.html在HTML框架集和JavaScript中使用时,允许共享相同的数据库或访问彼此的文档。同时,http://www.malicious.com/evil.html被阻止访问http://www.example.com/的资源,因为它们属于不同的安全源。默认情况下,像file://qrc://这样的本地方案被视为同一安全源,并且可以访问彼此的资源。默认情况下,本地资源被限制访问远程内容,这意味着file://将无法访问http://domain.com/foo.html

脚本可以通过使用runJavaScript()在网页上执行,无论是在主JavaScript世界中,与来自网页内容的其余JavaScript一起,还是在它们自己的隔离世界中。虽然可以从任何世界访问页面的DOM,但在一个世界中定义的函数的JavaScript变量无法从另一个世界访问。ScriptWorldId为此提供了一些预定义的ID。使用没有世界ID的runJavaScript()版本与在MainWorld中运行脚本相同。

FocusOnNavigationEnabled 设置可用于使与页面关联的视图在发生导航操作时(如加载或重新加载页面或浏览历史记录)自动接收焦点。

class WebAction

此枚举描述了可以在网页上执行的操作类型。

操作只有在适用时才会产生效果。

操作的可用性可以通过检查由action()返回的操作的isEnabled()来确定。

常量

描述

QWebEnginePage.NoWebAction

没有触发任何操作。

QWebEnginePage.Back

在导航链接的历史记录中后退。

QWebEnginePage.Forward

在导航链接的历史记录中向前导航。

QWebEnginePage.Stop

停止加载当前页面。

QWebEnginePage.Reload

重新加载当前页面。

QWebEnginePage.ReloadAndBypassCache

重新加载当前页面,但不使用任何本地缓存。

QWebEnginePage.Cut

将当前选中的内容剪切到剪贴板。

QWebEnginePage.Copy

将当前选中的内容复制到剪贴板。

QWebEnginePage.Paste

从剪贴板粘贴内容。

QWebEnginePage.Undo

撤销最后一个编辑操作。

QWebEnginePage.Redo

重做最后的编辑操作。

QWebEnginePage.SelectAll

选择所有内容。此操作仅在页面内容获得焦点时启用。可以通过JavaScript window.focus()调用来强制获得焦点,或者启用FocusOnNavigationEnabled设置以自动获得焦点。

QWebEnginePage.PasteAndMatchStyle

使用当前样式从剪贴板粘贴内容。

QWebEnginePage.OpenLinkInThisWindow

在当前窗口中打开当前链接。

QWebEnginePage.OpenLinkInNewWindow

在新窗口中打开当前链接。需要实现 createWindow()newWindowRequested()

QWebEnginePage.OpenLinkInNewTab

在新标签页中打开当前链接。需要实现 createWindow()newWindowRequested()

QWebEnginePage.OpenLinkInNewBackgroundTab

在新后台标签页中打开当前链接。需要实现 createWindow()newWindowRequested()

QWebEnginePage.CopyLinkToClipboard

将当前链接复制到剪贴板。

QWebEnginePage.CopyImageToClipboard

将点击的图像复制到剪贴板。

QWebEnginePage.CopyImageUrlToClipboard

将点击的图片的URL复制到剪贴板。

QWebEnginePage.CopyMediaUrlToClipboard

将悬停的音频或视频的URL复制到剪贴板。

QWebEnginePage.ToggleMediaControls

在显示和隐藏悬停的音频或视频元素的控件之间切换。

QWebEnginePage.ToggleMediaLoop

切换悬停的音频或视频在完成后是否循环播放。

QWebEnginePage.ToggleMediaPlayPause

切换悬停的音频或视频元素的播放/暂停状态。

QWebEnginePage.ToggleMediaMute

静音或取消静音悬停的音频或视频元素。

QWebEnginePage.DownloadLinkToDisk

将当前链接下载到磁盘。需要为downloadRequested()提供一个槽。

QWebEnginePage.DownloadImageToDisk

将突出显示的图像下载到磁盘。需要为downloadRequested()提供一个槽。

QWebEnginePage.DownloadMediaToDisk

将悬停的音频或视频下载到磁盘。需要为downloadRequested()提供一个槽。

QWebEnginePage.InspectElement

触发任何附加的Web检查器以检查高亮显示的元素。

QWebEnginePage.ExitFullScreen

退出全屏模式。

QWebEnginePage.RequestClose

请求关闭网页。如果定义了,将运行window.onbeforeunload处理程序,用户可以确认或拒绝关闭页面。如果关闭请求被确认,将发出windowCloseRequested信号。

QWebEnginePage.Unselect

清除当前选择。

QWebEnginePage.SavePage

将当前页面保存到磁盘。MHTML 是用于将网页存储在磁盘上的默认格式。需要为 downloadRequested() 提供一个槽。

QWebEnginePage.ViewSource

在新标签页中显示当前页面的源代码。需要实现 createWindow()newWindowRequested()

QWebEnginePage.ToggleBold

切换选中内容或光标位置的粗体状态。需要 contenteditable="true"

QWebEnginePage.ToggleItalic

切换选择内容或光标位置的斜体。需要 contenteditable="true"

QWebEnginePage.ToggleUnderline

切换选择内容或光标位置的下划线。需要 contenteditable="true"

QWebEnginePage.ToggleStrikethrough

切换在选定内容或光标位置处添加删除线。需要 contenteditable="true"

QWebEnginePage.AlignLeft

将包含选择或光标的行向左对齐。需要 contenteditable="true"

QWebEnginePage.AlignCenter

将包含选择或光标的行居中对齐。需要 contenteditable="true"

QWebEnginePage.AlignRight

将包含选择或光标的行向右对齐。需要 contenteditable="true"

QWebEnginePage.AlignJustified

拉伸包含选择或光标的行,使每行具有相同的宽度。需要 contenteditable="true"

QWebEnginePage.Indent

缩进包含选择或光标的行。需要 contenteditable="true"

QWebEnginePage.Outdent

将包含选择或光标的行缩进。需要 contenteditable="true"

QWebEnginePage.InsertOrderedList

在当前光标位置插入一个有序列表,删除当前选择的内容。需要 contenteditable="true"

QWebEnginePage.InsertUnorderedList

在当前光标位置插入一个无序列表,删除当前选择的内容。需要 contenteditable="true"

QWebEnginePage.ChangeTextDirectionLTR

将焦点输入元素中的文本方向更改为从左到右。

QWebEnginePage.ChangeTextDirectionRTL

将焦点输入元素中的文本方向更改为从右到左。

class FindFlag

(继承自 enum.Flag) 此枚举描述了 findText() 函数可用的选项。这些选项可以从以下列表中通过 OR 操作组合在一起:

常量

描述

QWebEnginePage.FindBackward

向后搜索而不是向前搜索。

QWebEnginePage.FindCaseSensitively

默认情况下,findText() 是大小写不敏感的。指定此选项会将行为更改为大小写敏感的查找操作。

class WebWindowType

此枚举描述了可以通过createWindow()函数创建的窗口类型:

常量

描述

QWebEnginePage.WebBrowserWindow

一个完整的网页浏览器窗口。

QWebEnginePage.WebBrowserTab

一个网页浏览器标签。

QWebEnginePage.WebDialog

一个没有装饰的窗口。

QWebEnginePage.WebBrowserBackgroundTab

一个不隐藏当前可见的WebEngineView的网页浏览器标签。

class PermissionPolicy

State替换。

此枚举描述了用户可以为数据或设备访问设置的权限策略:

常量

描述

QWebEnginePage.PermissionUnknown

未知用户是否授予或拒绝权限。

QWebEnginePage.PermissionGrantedByUser

用户已授予权限。

QWebEnginePage.PermissionDeniedByUser

用户已拒绝权限。

class NavigationType

此枚举描述了导航请求的类型:

常量

描述

QWebEnginePage.NavigationTypeLinkClicked

导航请求是由点击链接引起的。

QWebEnginePage.NavigationTypeTyped

导航请求是由显式加载的URL引起的。

QWebEnginePage.NavigationTypeFormSubmitted

导航请求是由表单提交引起的。

QWebEnginePage.NavigationTypeBackForward

导航请求是由于后退或前进操作引起的。

QWebEnginePage.NavigationTypeReload

导航请求是由于重新加载操作引起的。

QWebEnginePage.NavigationTypeRedirect

导航请求是由内容或服务器控制的重定向引起的。这也包括自动重新加载。

QWebEnginePage.NavigationTypeOther

导航请求是由上述未涵盖的其他方式触发的。

class Feature

被 QWebEnginePermission::Feature 替换。

此枚举描述了用户可能被要求授予或拒绝访问的平台功能访问类别:

常量

描述

QWebEnginePage.Notifications

面向最终用户的网页通知。

QWebEnginePage.Geolocation

定位硬件或服务。

QWebEnginePage.MediaAudioCapture

音频捕获设备,例如麦克风。

QWebEnginePage.MediaVideoCapture

视频设备,例如摄像头。

QWebEnginePage.MediaAudioVideoCapture

音频和视频捕获设备。

QWebEnginePage.MouseLock

鼠标锁定,将鼠标指针锁定到网页视图,通常用于游戏中。

QWebEnginePage.DesktopVideoCapture

视频输出捕获,即用户显示的捕获,例如用于屏幕共享目的。

QWebEnginePage.DesktopAudioVideoCapture

音频和视频输出捕获。

QWebEnginePage.ClipboardReadWrite

对剪贴板的读写访问权限。如果同时启用了JavascriptCanPasteJavascriptCanAccessClipboard设置,此权限将自动授予,并且不会发出功能请求。

QWebEnginePage.LocalFontsAccess

访问用户机器上安装的字体。仅在桌面平台上可用。

class FileSelectionMode

此枚举指示chooseFiles()函数的实现是应仅返回一个文件还是可以返回多个文件:

常量

描述

QWebEnginePage.FileSelectOpen

仅返回一个文件名。

QWebEnginePage.FileSelectOpenMultiple

返回多个文件名。

QWebEnginePage.FileSelectUploadFolder

允许用户指定一个现有的文件夹进行上传。

QWebEnginePage.FileSelectSave

指定要创建的新文件。

另请参阅

chooseFiles()

class JavaScriptConsoleMessageLevel

此枚举描述了JavaScript控制台消息可能具有的不同严重级别:

常量

描述

QWebEnginePage.InfoMessageLevel

该消息仅为信息性内容,可以安全地忽略。

QWebEnginePage.WarningMessageLevel

该消息通知可能需要关注的意外行为或错误。

QWebEnginePage.ErrorMessageLevel

该消息表示发生了错误。

class RenderProcessTerminationStatus

此枚举描述了渲染进程终止时的状态:

常量

描述

QWebEnginePage.NormalTerminationStatus

渲染进程正常终止。

QWebEnginePage.AbnormalTerminationStatus

渲染进程以非零退出状态终止。

QWebEnginePage.CrashedTerminationStatus

渲染进程崩溃,例如由于分段错误。

QWebEnginePage.KilledTerminationStatus

渲染进程被终止,例如通过SIGKILL或任务管理器终止。

class LifecycleState

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

常量

描述

QWebEnginePage.LifecycleState.Active

正常状态。

QWebEnginePage.LifecycleState.Frozen

低CPU使用率状态,大多数HTML任务源被挂起。

QWebEnginePage.LifecycleState.Discarded

资源使用非常低的状态,整个浏览上下文被丢弃。

另请参阅

lifecycleState Page Lifecycle API WebEngine 生命周期示例

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property audioMutedᅟ: bool

此属性表示当前页面音频是否静音。

默认值为false

另请参阅

recentlyAudible

Access functions:
property backgroundColorᅟ: QColor

此属性保存文档主体后面的页面背景颜色。

您可以将背景颜色设置为Qt::transparent或半透明颜色以透过文档查看,或者您可以将其设置为与混合应用程序中的网页内容匹配,以防止在加载过程中可能出现的白色闪烁。

默认值为白色。

Access functions:
property contentsSizeᅟ: QSizeF

此属性保存页面内容的大小。

Access functions:
property hasSelectionᅟ: bool

此属性表示此页面是否包含选定的内容。

另请参阅

selectionChanged()

Access functions:
property iconᅟ: QIcon

此属性保存与当前查看页面关联的图标。

默认情况下,此属性包含一个空图标。如果触摸图标被禁用(参见QWebEngineSettings::TouchIconsEnabled),则收藏夹图标以两种尺寸(16x16和32x32像素)封装在QIcon中提供。否则,将提供具有最大可用尺寸的单个图标。

Access functions:
property iconUrlᅟ: QUrl

此属性保存与当前查看页面关联的图标的URL。

默认情况下,此属性包含一个空的URL。

Access functions:
property lifecycleStateᅟ: QWebEnginePage.LifecycleState

此属性保存页面的当前生命周期状态。

设置器强制执行以下限制:

  • 一个visible页面必须保持在Active状态。

  • 如果页面正在被devToolsPage检查,那么两个页面都必须保持在Active状态。

  • 处于Discarded状态的页面只能过渡到Active状态。这将导致页面重新加载。

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

另请参阅

recommendedState Page Lifecycle API WebEngine 生命周期示例

Access functions:
property loadingᅟ: bool

此属性表示页面当前是否正在加载。

Access functions:
property recentlyAudibleᅟ: bool

此属性保存当前页面的可听状态,即最近是否播放了音频。

默认值为false

另请参阅

audioMuted

Access functions:
property recommendedStateᅟ: QWebEnginePage.LifecycleState

此属性保存页面生命周期状态的推荐限制。

将生命周期状态设置为比推荐状态更低的资源使用状态可能会导致副作用,例如停止后台音频播放或丢失HTML表单输入。然而,将生命周期状态设置为更高的资源状态是完全安全的。

另请参阅

lifecycleState Page Lifecycle API WebEngine 生命周期示例

Access functions:
property renderProcessPidᅟ: int

此属性保存分配给当前页面主框架的渲染进程的进程ID(PID)。

如果还没有可用的渲染进程,则返回0

Access functions:
property requestedUrlᅟ: QUrl

此属性保存当前查看的页面最初请求加载的URL。

注意

URL 可能不同于 url() 返回的 URL,后者是通过 DNS 解析或重定向得到的实际 URL。

另请参阅

url() setUrl()

Access functions:
property scrollPositionᅟ: QPointF

此属性保存页面内容的滚动位置。

Access functions:
property selectedTextᅟ: str

此属性保存当前选中的文本。

默认情况下,此属性包含一个空字符串。

另请参阅

selectionChanged()

Access functions:
property titleᅟ: str

此属性保存由HTML <title> 元素定义的页面标题。

如果页面没有元素,则使用URL代替。对于file:// URL,仅使用文件名而不使用完整路径。

默认情况下,在加载任何内容之前,此属性包含一个空字符串。

另请参阅

titleChanged()

Access functions:
property urlᅟ: QUrl

此属性保存当前查看页面的URL。

设置此属性将清除视图并加载URL。

默认情况下,此属性包含一个空的、无效的URL。

另请参阅

urlChanged()

Access functions:
property visibleᅟ: bool

此属性保存页面在页面可见性API中是否被视为可见。

设置此属性会更改JavaScript中的Document.hiddenDocument.visibilityState属性,网站可以使用这些属性在用户不可见时自愿减少资源使用。

如果页面连接到视图,则此属性将根据视图自身的可见性由视图自动管理。

另请参阅

lifecycleState

Access functions:
property zoomFactorᅟ: float

此属性保存页面内容的缩放因子。

有效值在0.255.0之间。默认因子为1.0

另请参阅

zoomFactorChanged()

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

构造一个空的QWebEnginePage,其父对象为parent

__init__(profile[, parent=None])
Parameters:

在网页引擎配置文件中使用父对象 parent 构造一个空的网页引擎页面 profile

如果配置文件不是默认配置文件,调用者必须确保配置文件在页面存在期间保持活动状态。

_q_aboutToDelete()
acceptAsNewWindow(request)
Parameters:

请求QWebEngineNewWindowRequest

acceptNavigationRequest(url, type, isMainFrame)
Parameters:
Return type:

布尔

此函数在接收到通过指定的导航类型type导航到指定url的请求时调用。isMainFrame指示请求是否对应于主框架或子框架。如果函数返回true,则接受导航请求并加载url。默认实现接受所有导航请求。

导航请求可以委托给Qt应用程序,而不是让HTML处理引擎通过重载此函数来处理它们。当HTML文档用作用户界面的一部分,而不是显示外部数据时,这是必要的,例如,当显示结果列表时。

注意

此函数不会在同一页面的片段导航中被调用。例如,这种导航是通过点击页面内的“#fragment”链接发生的。它不会触发加载到不同的文档,即使它改变了页面的URL并添加了历史记录条目。它仅作为页面内滚动的快捷方式。因此,预计不会发生这种导航类型的委托。

注意

加载过程已启动,并且在请求被接受或拒绝之前会发出loadStarted()信号。因此,即使在委托请求后,也可能会收到返回falseloadFinished()信号。

注意

当使用setHtmlsetContent与相对链接时,请确保指定一个基础URL,否则链接将被视为无效,并且不会发出导航请求。

QWebEngineUrlRequestInterceptor 类提供了更多用于拦截和操作请求的选项。

action(action)
Parameters:

动作WebAction

Return type:

QAction

返回指定WebAction action的QAction。

该操作由QWebEnginePage拥有,但您可以通过更改其属性来自定义外观。

返回的操作没有默认样式的图标。使用 pageAction() 来获取带有默认样式图标的操作。

QWebEnginePage 还负责实现该操作,以便在触发时在页面上执行相应的操作。

另请参阅

triggerAction()

audioMutedChanged(muted)
Parameters:

muted – 布尔值

当页面的muted状态发生变化时,会发出此信号。

注意

不要与特定的HTML5音频或视频元素静音混淆。

属性 audioMutedᅟ 的通知信号。

authenticationRequired(requestUrl, authenticator)
Parameters:

当访问requestUrl需要认证时,会发出此信号。authenticator应用于传递连接的用户名和密码。

backgroundColor()
Return type:

QColor

另请参阅

setBackgroundColor()

获取属性 backgroundColorᅟ 的Getter。

certificateError(certificateError)
Parameters:

certificateErrorQWebEngineCertificateError

当加载给定请求时引发无效证书错误时,会发出此信号。

certificateError 参数包含有关证书的信息和错误的详细信息,它还提供了忽略错误并完成请求或停止加载请求的方法。

chooseFiles(mode, oldFiles, acceptedMimeTypes)
Parameters:
  • modeFileSelectionMode

  • oldFiles – 字符串列表

  • acceptedMimeTypes – 字符串列表

Return type:

字符串列表

当网页内容请求文件名时,例如用户点击HTML表单中的文件上传按钮时,将调用此函数。

mode 表示预期返回的是一个文件还是多个文件。

建议的文件名可以作为oldFiles的第一个条目提供。acceptedMimeTypes在默认实现中被忽略,但可能会被重写使用。

contentsSize()
Return type:

QSizeF

属性 contentsSizeᅟ 的获取器。

contentsSizeChanged(size)
Parameters:

大小QSizeF

属性 contentsSizeᅟ 的通知信号。

createWindow(type)
Parameters:

类型WebWindowType

Return type:

QWebEnginePage

此函数用于创建指定type的新窗口。例如,当JavaScript程序请求在新窗口中打开文档时。

如果可以创建新窗口,则返回新窗口的QWebEnginePage;否则返回空指针。

如果与网页关联的视图是QWebEngineView对象,则默认实现将请求转发给createWindow();否则返回空指针。

如果未实现此调用或未返回新页面,则会发出newWindowRequested()来处理请求。

注意

在由JavaScript触发窗口创建的情况下,除了重新实现此方法外,应用程序还必须将JavascriptCanOpenWindows设置为true,以便调用该方法。

desktopMediaRequested(request)
Parameters:

请求QWebEngineDesktopMediaRequest

当网络应用程序请求访问显示内容时,会发出此信号。

request 参数包含对可用于捕获的窗口和屏幕数据模型的引用。要接受请求,信号处理程序可以调用 selectScreen()selectWindow()

devToolsId()
Return type:

字符串

返回与此页面关联的开发者工具主机的ID。

如果启用了远程调试(参见Qt WebEngine 开发者工具),可以使用该ID构建连接到开发者工具WebSocket的URL:ws://localhost:/devtools/page/)。该WebSocket可用于通过DevTools协议与页面进行交互。

devToolsPage()
Return type:

QWebEnginePage

返回托管此页面开发者工具的页面(如果有的话)。

如果没有设置开发者工具页面,则返回 nullptr

download(url[, filename=""])
Parameters:
  • urlQUrl

  • filename – str

url指定的位置下载资源到本地文件。

如果提供了filename,它将被用作建议的文件名。如果它是相对的,文件将以给定的名称保存在标准下载位置。如果它是空或空的QString,则使用默认文件名。

这将在下载开始后发出downloadRequested()

featurePermissionRequestCanceled(securityOrigin, feature)
Parameters:

注意

此函数已弃用。

此信号不再发出。

当由securityOrigin标识的网站取消先前发出的使用feature的请求时,会发出此信号。

featurePermissionRequested(securityOrigin, feature)
Parameters:

注意

此函数已弃用。

请使用 permissionRequested() 代替。

当由securityOrigin标识的网站请求使用由feature标识的资源或设备时,会发出此信号。

fileSystemAccessRequested(request)
Parameters:

请求QWebEngineFileSystemAccessRequest

当网页请求访问本地文件或目录时,会发出此信号。

请求对象 request 可用于接受或拒绝请求。

findFrameByName(name)
Parameters:

name – str

Return type:

QWebEngineFrame

返回具有给定name的框架。如果有多个具有相同名称的框架,返回哪一个是不确定的。如果没有找到框架,则返回None

findText(subString[, options={}])
Parameters:
  • subString – str

  • optionsFindFlag 的组合

findText(subString, options, resultCallback)
Parameters:
  • subString – str

  • optionsFindFlag 的组合

  • resultCallbackPyCallable

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

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

resultCallback 必须接受一个 QWebEngineFindTextResult 参数。

注意

我们保证resultCallback总是被调用,但它可能在页面销毁期间完成。当QWebEnginePage被删除时,回调会触发一个无效值,并且在其中使用相应的QWebEnginePageQWebEngineFrameQWebEngineView实例是不安全的。

findTextFinished(result)
Parameters:

结果QWebEngineFindTextResult

当页面上的搜索字符串搜索完成时,会发出此信号。result 是字符串搜索的结果。

另请参阅

findText()

fullScreenRequested(fullScreenRequest)
Parameters:

fullScreenRequestQWebEngineFullScreenRequest

当网页发出请求以进入全屏模式时,通常会发出此信号,通常用于视频元素。

请求对象 fullScreenRequest 可用于接受或拒绝请求。

如果请求被接受,请求全屏的元素将填满视口,但由应用程序决定是否使视图全屏或将页面移动到全屏视图。

geometryChangeRequested(geom)
Parameters:

geomQRect

每当文档想要将页面的位置和大小更改为geom时,就会发出此信号。例如,这可以通过JavaScript发生。

注意

setGeometry() 期望一个不包括窗口装饰的大小,而 geom 包括它。你必须从 geom 中移除边框边距的大小以正确处理此信号。

window->setGeometry(geom.marginsRemoved(window->frameMargins()));
hasSelection()
Return type:

布尔

属性 hasSelectionᅟ 的获取器。

history()
Return type:

QWebEngineHistory

返回指向视图导航网页历史的指针。

icon()
Return type:

QIcon

属性 iconᅟ 的获取器。

iconChanged(icon)
Parameters:

图标QIcon

当与页面关联的图标(“favicon”)更改时,会发出此信号。新图标由 icon 指定。

属性 iconᅟ 的通知信号。

iconUrl()
Return type:

QUrl

属性 iconUrlᅟ 的获取器。

iconUrlChanged(url)
Parameters:

urlQUrl

当与页面关联的图标(“favicon”)的URL更改时,会发出此信号。新的URL由url指定。

属性 iconUrlᅟ 的通知信号。

inspectedPage()
Return type:

QWebEnginePage

返回此页面正在检查的页面(如果有)。

如果此页面不是开发者工具页面,则返回 nullptr

isAudioMuted()
Return type:

布尔

属性 audioMutedᅟ 的获取器。

isLoading()
Return type:

布尔

属性 loadingᅟ 的获取器。

isVisible()
Return type:

布尔

属性 visibleᅟ 的获取器。

javaScriptAlert(securityOrigin, msg)
Parameters:
  • securityOriginQUrl

  • msg – str

每当在隶属于securityOrigin的框架中运行的JavaScript程序调用alert()函数并带有消息msg时,就会调用此函数。

默认实现显示消息,msg,使用 QMessageBox::information。

javaScriptConfirm(securityOrigin, msg)
Parameters:
  • securityOriginQUrl

  • msg – str

Return type:

布尔

每当与securityOrigin关联的框架中运行的JavaScript程序调用带有消息msgconfirm()函数时,就会调用此函数。如果用户确认消息,则返回true;否则返回false

onbeforeunload处理程序在离开页面之前请求确认时,也会调用它。

默认实现使用QMessageBox::information执行查询,带有QMessageBox::Ok和QMessageBox::Cancel按钮。

javaScriptConsoleMessage(level, message, lineNumber, sourceID)
Parameters:

当JavaScript程序尝试将message打印到网页浏览器的控制台时,会调用此函数。

例如,在评估错误的情况下,源URL可能会在sourceID以及lineNumber中提供。

level 表示触发消息的事件的严重程度。也就是说,它是由错误还是不太严重的事件触发的。

自 Qt 5.6 起,默认实现将消息记录在 js 日志类别中。

另请参阅

控制台日志记录

javaScriptPrompt(securityOrigin, msg, defaultValue)
Parameters:
  • securityOriginQUrl

  • msg – str

  • defaultValue – str

Return type:

布尔

每当与securityOrigin关联的框架中运行的JavaScript程序尝试提示用户输入时,都会调用此函数。程序可能会提供一个可选的消息msg,以及输入中的默认值defaultValue

如果提示被用户取消,实现应返回false;否则结果应写入result并返回true。如果提示未被用户取消,实现应返回true且结果字符串不得为空。

默认实现使用 QInputDialog::getText()。

lifecycleState()
Return type:

LifecycleState

另请参阅

setLifecycleState()

属性 lifecycleStateᅟ 的获取器。

lifecycleStateChanged(state)
Parameters:

状态LifecycleState

属性 lifecycleStateᅟ 的通知信号。

linkHovered(url)
Parameters:

url – str

当鼠标悬停在链接上时,会发出此信号。url 包含链接的目标URL。

load(url)
Parameters:

urlQUrl

url加载到此页面中。

注意

视图保持不变,直到有足够的数据到达以显示新的URL。

load(request)
Parameters:

请求QWebEngineHttpRequest

发出指定的request并加载响应。

loadFinished(ok)
Parameters:

ok – 布尔值

当页面完成内容加载时,会发出此信号。此信号与脚本执行或页面渲染无关。ok 将指示加载是否成功或是否发生了任何错误。

注意

导航请求可以委托给Qt应用程序,而不是让HTML处理引擎通过重载acceptNavigationRequest()函数来处理它们。因为加载过程在请求被接受或拒绝之前就已经开始,并且loadStarted()信号在请求被接受或拒绝之前就已经发出,所以即使在委托请求之后,也可能会收到返回falseloadFinished()信号。

loadProgress(progress)
Parameters:

progress – 整数

当全局进度状态发生变化时,会发出此信号。当前值由progress提供,范围从0到100,这是QProgressBar的默认范围。它累积了所有子帧的更改。

loadStarted()

当页面开始加载内容时,会发出此信号。

loadingChanged(loadingInfo)
Parameters:

loadingInfoQWebEngineLoadingInfo

当开始、结束或失败加载由loadingInfo指定的页面时,会发出此信号。

属性 loadingᅟ 的通知信号。

mainFrame()
Return type:

QWebEngineFrame

页面的主要、顶级框架。页面上的所有其他框架都可以作为主框架的子框架访问。

navigationRequested(request)
Parameters:

请求QWebEngineNavigationRequest

此信号在导航时与调用acceptNavigationRequest()一起发出。它可以用于接受或忽略request。默认是接受。

newWindowRequested(request)
Parameters:

请求QWebEngineNewWindowRequest

当发出request以在单独的网页引擎窗口中加载页面时,会发出此信号。这可能是由于当前页面通过JavaScript调用window.open明确请求,或者因为用户在按住Shift、Ctrl或触发页面在新窗口中打开的内置组合键时点击了链接。

信号通过调用openIn()处理,其中包含请求中的新页面。如果未处理此信号,请求的加载将失败。

注意

如果createWindow()首先处理了请求,则不会发出此信号。

另请参阅

createWindow() openIn()

pdfPrintingFinished(filePath, success)
Parameters:
  • filePath – str

  • success – 布尔值

当将网页打印成PDF文件完成时,会发出此信号。filePath 将包含请求创建文件的路径,如果文件成功创建,success 将为 true,否则为 false

另请参阅

printToPdf()

permissionRequested(permissionRequest)
Parameters:

permissionRequestQWebEnginePermission

当网站请求使用某个功能(例如地理位置访问、发送通知的权限)时,会发出此信号。permission 对象可以查询请求的 URL 以及它请求的 QWebEnginePermission::Feature,并且可以授予或拒绝权限。

printRequested()

当在主框架上调用JavaScript window.print() 方法,或者用户按下PDF查看器插件的打印按钮时,会发出此信号。通常,信号处理程序可以简单地调用 printToPdf()

自6.8版本起,此信号仅为主框架发出,而不是为任何请求打印的框架发出。

printRequestedByFrame(frame)
Parameters:

frameQWebEngineFrame

当在frame上调用JavaScript的window.print()方法时,会发出此信号。如果该帧是主帧,则会发出printRequested信号。

printToPdf(resultCallback[, pageLayout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])
Parameters:

将页面的当前内容渲染为PDF文档,并将包含PDF数据的字节数组作为参数返回给resultCallback

生成的PDF文档的页面大小和方向取自layout中指定的值,而打印的页面范围取自ranges,默认情况下是打印所有页面。

注意

QWebEnginePage.WebAction.Stop 网页操作可以用来中断此操作。

注意

我们保证resultCallback总是被调用,但它可能在页面销毁期间完成。当QWebEnginePage被删除时,回调会触发一个无效值,并且在其中使用相应的QWebEnginePageQWebEngineFrameQWebEngineView实例是不安全的。

printToPdf(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])
Parameters:

将页面的当前内容渲染为PDF文档,并将其保存在filePath中指定的位置。生成的PDF文档的页面大小和方向取自layout中指定的值,而打印的页面范围取自ranges,默认情况下是打印所有页面。

此方法发出一个异步请求,将网页打印为PDF并立即返回。要了解请求的结果,请连接到信号 pdfPrintingFinished()

注意

Stop 网络操作可用于中断此异步操作。

如果在提供的文件路径下已经存在一个文件,它将被覆盖。

另请参阅

pdfPrintingFinished()

profile()
Return type:

QWebEngineProfile

返回页面所属的网页引擎配置文件。

proxyAuthenticationRequired(requestUrl, authenticator, proxyHost)
Parameters:

当通过proxyHost访问requestUrl需要代理认证时,会发出此信号。authenticator应该用于传递连接的用户名和密码。

quotaRequested(quotaRequest)
Parameters:

quotaRequestQWebEngineQuotaRequest

注意

此函数已弃用。

此信号不再发出。

Chromium不再支持请求主机配额。navigator.webkitPersistentStorage的行为与navigator.webkitTemporaryStorage相同。

更多详情,请参见 https://crbug.com/1233525

recentlyAudible()
Return type:

布尔

属性 recentlyAudibleᅟ 的获取器。

recentlyAudibleChanged(recentlyAudible)
Parameters:

recentlyAudible – bool

当页面的可听状态recentlyAudible发生变化时,会发出此信号,因为音频被播放或停止。

注意

当调用setAudioMuted()方法时,也会发出信号。

属性 recentlyAudibleᅟ 的通知信号。

recommendedState()
Return type:

LifecycleState

属性 recommendedStateᅟ 的获取器。

recommendedStateChanged(state)
Parameters:

状态LifecycleState

属性 recommendedStateᅟ 的通知信号。

registerProtocolHandlerRequested(request)
Parameters:

请求QWebEngineRegisterProtocolHandlerRequest

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

当网页尝试使用registerProtocolHandler API注册自定义协议时,会发出此信号。

请求对象 request 可以用来接受或拒绝请求:

def handleRegisterProtocolHandlerRequested(self):
        QWebEngineRegisterProtocolHandlerRequest request)

    answer = QMessageBox.question(window(), tr("Permission Request"),()
                                        tr("Allow %1 to open all %2 links?")
                                                .arg(request.origin().host())
                                                .arg(request.scheme()))
    if answer == QMessageBox.Yes:
        request.accept()
else:
        request.reject()
renderProcessPid()
Return type:

整数

属性 renderProcessPidᅟ 的获取器。

renderProcessPidChanged(pid)
Parameters:

pid – 整数

当底层渲染进程的PID,pid,发生变化时,会发出此信号。

属性 renderProcessPidᅟ 的通知信号。

renderProcessTerminated(terminationStatus, exitCode)
Parameters:

当渲染进程以非零退出状态终止时,会发出此信号。terminationStatus 是进程的终止状态,exitCode 是进程终止时的状态码。

replaceMisspelledWord(replacement)
Parameters:

replacement – 字符串

replacement替换当前拼写错误的单词。

当前拼写错误的单词可以在misspelledWord()中找到,建议的替换可以在spellCheckerSuggestions()中找到。

requestedUrl()
Return type:

QUrl

获取属性 requestedUrlᅟ 的Getter。

runJavaScript(scriptSource, resultCallback)
Parameters:
  • scriptSource – str

  • resultCallbackPyCallable

runJavaScript(scriptSource[, worldId=0[, resultCallback={}]])
Parameters:
  • scriptSource – str

  • worldId – int

  • resultCallbackPyCallable

在此框架上运行包含在scriptSource脚本中的JavaScript代码,而不检查页面的DOM是否已构建。

为了避免与页面上执行的其他脚本发生冲突,脚本运行的世界由worldId指定。世界ID值与QWebEngineScript.ScriptWorldId提供的相同,范围在0到256之间。如果省略世界ID,脚本将在MainWorld(0)中运行。

当脚本被执行后,可调用的 resultCallback 会被调用,并传入最后执行的语句的结果。

只能从JavaScript返回纯数据作为结果值。

注意

不要在回调函数中执行冗长的例程,因为它可能会阻塞网页引擎的渲染。

注意

我们保证resultCallback总是被调用,但它可能在页面销毁期间完成。当QWebEnginePage被删除时,回调会触发一个无效值,并且在其中使用相应的QWebEnginePageQWebEngineFrameQWebEngineView实例是不安全的。

save(filePath[, format=QWebEngineDownloadRequest.MimeHtmlSaveFormat])
Parameters:

将当前加载的网页保存到磁盘。

网页被保存到指定的filePath中的format

这是以下操作的快捷方式:

  • 触发保存网页操作。

  • 接受下一个下载项并设置指定的文件路径和保存格式。

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

另请参阅

SavePageFormat

scripts()
Return type:

QWebEngineScriptCollection

返回注入到页面中的脚本集合。

此外,页面还可能执行通过scripts()添加的脚本。

scrollPosition()
Return type:

QPointF

属性 scrollPositionᅟ 的获取器。

scrollPositionChanged(position)
Parameters:

位置QPointF

属性 scrollPositionᅟ 的通知信号。

selectClientCertificate(clientCertSelection)
Parameters:

clientCertSelectionQWebEngineClientCertificateSelection

当网站请求SSL客户端证书时,并且在系统的客户端证书存储中找到一个或多个证书时,会发出此信号。

处理信号是异步的,加载将一直等待,直到选择了一个证书,或者clientCertificateSelection的最后一个副本被销毁。

如果信号未被处理,clientCertificateSelection 将自动销毁,加载将继续而不使用客户端证书。

selectedText()
Return type:

字符串

属性 selectedTextᅟ 的获取器。

selectionChanged()

每当选择发生变化时,无论是交互式还是编程式,都会发出此信号。例如,通过调用triggerAction()并带有选择操作。

注意

当使用鼠标通过左键点击并拖动来选择文本时,每次选择新字符时都会发出信号,而不是在释放鼠标左键时发出。

另请参阅

selectedText()

setAudioMuted(muted)
Parameters:

muted – 布尔值

另请参阅

isAudioMuted()

属性 audioMutedᅟ 的设置器。

setBackgroundColor(color)
Parameters:

颜色QColor

另请参阅

backgroundColor()

属性 backgroundColorᅟ 的设置器。

setContent(data[, mimeType=""[, baseUrl=QUrl()]])
Parameters:

将网页的内容设置为data。如果mimeType参数为空,则假定内容为text/plain,charset=US-ASCII

内容中引用的外部对象相对于baseUrl定位。要加载具有相对URL的外部对象,baseUrl不能为空。

data 会立即加载;外部对象会异步加载。

注意

此方法不会影响页面的会话或全局历史记录。

警告

内容在通过IPC发送到渲染器之前将进行百分比编码。这可能会增加其大小。百分比编码内容的最大大小为2兆字节减去6字节加上MIME类型字符串的长度。

另请参阅

toHtml() setHtml()

setDevToolsPage(page)
Parameters:

页面QWebEnginePage

devToolsPage绑定为此页面的开发者工具。触发devToolsPage导航到带有开发者工具的内部URL。

这与在devToolsPage上调用setInspectedPage()并将this作为参数相同。

setFeaturePermission(securityOrigin, feature, policy)
Parameters:

注意

此函数已弃用。

使用 QWebEnginePermissiongrant ()、deny () 和 reset () 函数代替。

设置由securityOrigin标识的网站使用feature的权限为policy

注意

此方法主要用于在发出featurePermissionRequested()信号后调用,以触发功能权限响应。它也可以在请求发出之前调用,但只会为被动检查设置授予的权限,主要用于Notification API,这些API可以在明确请求之前检查是否已经授予了权限。

setHtml(html[, baseUrl=QUrl()])
Parameters:
  • html – str

  • baseUrlQUrl

将此页面的内容设置为htmlbaseUrl是可选的,用于解析文档中的相对URL,例如引用的图像或样式表。

html 立即加载;外部对象异步加载。

如果html中的脚本运行时间超过默认的脚本超时时间(目前为10秒),例如由于被模态JavaScript警告对话框阻塞,此方法将在超时后尽快返回,并且任何后续的html将异步加载。

使用此方法时,除非另有说明,否则网络引擎假定外部资源(如JavaScript程序或样式表)以UTF-8编码。例如,可以通过HTML脚本标签的charset属性指定外部脚本的编码。编码也可以由网络服务器指定。

这是一个便捷函数,等同于 setContent (html, “text/html”, baseUrl)。

注意

此方法不会影响页面的会话或全局历史记录。

警告

此函数仅适用于HTML,对于其他MIME类型(如XHTML和SVG),应使用setContent()代替。

警告

内容在通过IPC发送到渲染器之前将进行百分比编码。这可能会增加其大小。百分比编码内容的最大大小为2兆字节减去30字节。

setInspectedPage(page)
Parameters:

页面QWebEnginePage

将此页面导航到一个内部URL,该URL是page的开发工具。

这与在page上调用setDevToolsPage()并将this作为参数传递是相同的。

setLifecycleState(state)
Parameters:

状态LifecycleState

另请参阅

lifecycleState()

属性 lifecycleStateᅟ 的设置器。

setUrl(url)
Parameters:

urlQUrl

另请参阅

url()

属性 urlᅟ 的设置器。

setUrlRequestInterceptor(interceptor)
Parameters:

拦截器QWebEngineUrlRequestInterceptor

注册请求拦截器 interceptor 以拦截URL请求。

页面不拥有指针的所有权。此拦截器在配置文件上的任何拦截器之后调用,与配置文件拦截器不同,仅拦截来自此页面的URL请求。如果原始请求已被配置文件拦截器阻止或重定向,则不会被此拦截器拦截。

要取消设置请求拦截器,请设置一个nullptr

setVisible(visible)
Parameters:

visible – 布尔值

另请参阅

isVisible()

属性 visibleᅟ 的设置器。

setWebChannel(channel[, worldId=0])
Parameters:

设置此页面使用的Web通道实例为channel,并使用Chromium IPC消息将其连接到Web引擎的传输。传输在JavaScript世界worldId中暴露为qt.webChannelTransport,在使用Qt WebChannel JavaScript API时应使用此传输。

注意

页面不拥有通道对象的所有权。

注意

每个页面只能安装一个网络通道,即使在另一个JavaScript环境中设置一个,也会卸载任何已安装的网络通道。

setZoomFactor(factor)
Parameters:

factor – 浮点数

另请参阅

zoomFactor()

属性 zoomFactorᅟ 的设置器。

settings()
Return type:

QWebEngineSettings

返回指向页面设置对象的指针。

title()
Return type:

字符串

属性 titleᅟ 的获取器。

titleChanged(title)
Parameters:

标题 – str

每当页面标题发生变化时,都会发出此信号。title 字符串指定了新标题。

另请参阅

title()

属性 titleᅟ 的通知信号。

toHtml(resultCallback)
Parameters:

resultCallbackPyCallable

异步方法以HTML格式检索页面的内容,包含在HTML和BODY标签中。成功完成后,使用页面的内容调用resultCallback

注意

我们保证resultCallback总是被调用,但它可能在页面销毁期间完成。当QWebEnginePage被删除时,回调会触发一个无效值,并且在其中使用相应的QWebEnginePageQWebEngineFrameQWebEngineView实例是不安全的。

toPlainText(resultCallback)
Parameters:

resultCallbackPyCallable

异步方法用于检索页面内容并将其转换为纯文本,完全去除所有HTML格式。

成功完成后,resultCallback 会调用页面的内容。

注意

我们保证resultCallback总是被调用,但它可能在页面销毁期间完成。当QWebEnginePage被删除时,回调会触发一个无效值,并且在其中使用相应的QWebEnginePageQWebEngineFrameQWebEngineView实例是不安全的。

triggerAction(action[, checked=false])
Parameters:

可以调用此函数来触发指定的action。如果用户触发了该操作,例如通过上下文菜单项,Qt WebEngine 也会调用此函数。

如果 action 是一个可勾选的操作,那么 checked 指定该操作是否被切换。

另请参阅

action()

url()
Return type:

QUrl

另请参阅

setUrl()

属性 urlᅟ 的获取器。

urlChanged(url)
Parameters:

urlQUrl

当接收到页面标题时,会发出此信号,并附带页面的URL。新的URL由url指定。

另请参阅

url()

属性 urlᅟ 的通知信号。

visibleChanged(visible)
Parameters:

visible – 布尔值

属性 visibleᅟ 的通知信号。

webAuthUxRequested(request)
Parameters:

请求QWebEngineWebAuthUxRequest

当WebAuth认证器在认证过程中需要用户交互时,会发出此信号。这些请求通过向用户显示对话框来处理。

request 包含完成 WebAuth UX 请求所需的信息和 API。

webChannel()
Return type:

QWebChannel

返回指向此页面使用的web通道实例的指针,如果未设置,则返回空指针。此通道自动使用通过Chromium IPC暴露在此页面的JavaScript上下文中的内部web引擎传输机制,即qt.webChannelTransport

另请参阅

setWebChannel()

windowCloseRequested()

每当页面请求关闭网页浏览器窗口时,例如通过JavaScript window.close()调用,就会发出此信号。

另请参阅

RequestClose

zoomFactor()
Return type:

浮点数

另请参阅

setZoomFactor()

属性 zoomFactorᅟ 的获取器。

zoomFactorChanged(factor)
Parameters:

factor – 浮点数

每当页面的缩放factor发生变化时,都会发出此信号。

属性 zoomFactorᅟ 的通知信号。