- class QWebEnginePage#
《
QWebEnginePage
》类提供了一个对象来查看和编辑网页文档。更多信息摘要#
属性#
audioMuted属性
- 当前页面的音频是否已静音backgroundColorᅟ
- 页面文档体的背面背景颜色contentsSizeᅟ
- 页面内容的大小hasSelectionᅟ
- 页面是否包含选定内容iconᅟ
- 与当前查看的页面相关iconUrlᅟ
- 与当前查看的页面相关图标的URLlifecycleStateᅟ
- 页面的当前生命周期状态loadingᅟ
- 页面是否正在加载recentlyAudibleᅟ
- 当前页面的可听状态,即是否最近播放过音频recommendedStateᅟ
- 页面生命周期状态的推荐限制renderProcessPidᅟ
- 分配给当前页面主框架的渲染进程的进程ID (PID)requestedUrlᅟ
- 当前查看的页面最初请求加载的URLscrollPositionᅟ
- 页面内容滚动位置selectedTextᅟ
- 当前选中的文本titleᅟ
- 根据HTML <title>元素定义的页面标题urlᅟ
- 当前查看的页面URLvisibleᅟ
- 页面是否被认为在页面可见性API中可见zoomFactorᅟ
- 页面内容的缩放因子
方法#
def
__init__()
定义
action()
定义
devToolsId()
定义
download()
定义
findText()
定义
history()
定义
icon()
定义
iconUrl()
定义
isLoading()
定义
isVisible()
定义
load()
定义
printToPdf()
定义
profile()
定义
save()
定义
scripts()
定义
setContent()
定义
setHtml()
定义
setUrl()
定义
setVisible()
定义
settings()
定义
title()
定义
toHtml()
定义
url()
定义
webChannel()
定义
zoomFactor()
虚方法#
信号#
定义
urlChanged()
备注
这份文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您在翻译中遇到问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式告诉我们。
详细说明#
Web引擎页面 包含了HTML文档的内容、导航链接的 历史 和动作。
QWebEnginePage
的API与QWebEngineView
非常相似,因为您仍然可以提供诸如action()
(在QWebEngineView
中称为pageAction
())等通用功能。可以采用
load()
或setUrl()
来加载页面。或者如果您已经准备好了HTML内容,可以使用setHtml()
。总是使用GET方法来加载URL。类
QWebEnginePage
也提供了方法来检索页面当前加载的URL(参见url()
)以及最初请求加载的URL(参见requestedUrl()
)。这些方法使得在加载过程中DNS解析或重定向发生前后的URL检索成为可能。如果加载成功,requestedUrl()
还会匹配到页面历史记录(QWebEngineHistory
)中添加的URL。可以使用
title()
属性访问HTML页面的标题。此外,页面还可以指定一个图标,可以分别通过icon()
或其URL使用iconUrl()
属性来访问。如果标题或图标发生变化,将触发相应的titleChanged()
,iconChanged()
和iconUrlChanged()
信号。zoomFactor()
属性通过缩放因子实现对网页内容进行缩放的功能。当页面开始加载时,会发射
loadStarted()
信号;每当时网页加载的一个元素完成加载,如内嵌的图片或脚本时,会发射loadProgress()
信号。当页面的内容已完全加载时,会发射loadFinished()
信号,加载操作成功与否取决于其参数,可能为true
或false
。HTML文档将在网页中的主框架中加载。如果它引用了子框架(由
<frame>
或<iframe>
元素定义),它们被认为是内容的一部分。子框架只能通过JavaScript单独访问。网站定义了安全来源以安全地相互访问资源,用于客户端脚本或数据库。来源由主机名、方案和端口号组成。例如,网站
http://www.example.com/my/page.html
和http://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#
此枚举描述了用户可以设置的数据或设备访问权限策略
常量
描述
QWebEnginePage.PermissionUnknown
不知用户是否授予或拒绝权限。
QWebEnginePage.PermissionGrantedByUser
用户已授予权限。
QWebEnginePage.PermissionDeniedByUser
用户已拒绝权限。
此枚举描述了导航请求的类型
常量
描述
QWebEnginePage.NavigationTypeLinkClicked
导航请求由点击链接触发。
QWebEnginePage.NavigationTypeTyped
导航请求由明确加载的 URL 触发。
QWebEnginePage.NavigationTypeFormSubmitted
导航请求是由表单提交触发的。
QWebEnginePage.NavigationTypeBackForward
导航请求是由后退或前进操作触发的。
QWebEnginePage.NavigationTypeReload
导航请求是由重新加载操作触发的。
QWebEnginePage.NavigationTypeRedirect
导航请求是由内容或服务器控制的重定向触发的。这还包括自动重新加载。
QWebEnginePage.NavigationTypeOther
导航请求是由上述未涉及的其他方式触发的。
- class Feature#
此枚举描述了用户可能被要求授予或拒绝访问的平台功能访问类别
常量
描述
QWebEnginePage.Notifications
面向最终用户的网络通知。
QWebEnginePage.Geolocation
位置硬件或服务。
QWebEnginePage.MediaAudioCapture
音频捕获设备,例如麦克风。
QWebEnginePage.MediaVideoCapture
视频设备,例如摄像头。
QWebEnginePage.MediaAudioVideoCapture
音频和视频捕获设备。
QWebEnginePage.MouseLock
鼠标锁定,即将鼠标指针锁定在网页视图上,通常用于游戏等场景。
QWebEnginePage.DesktopVideoCapture
视频输出捕获,即捕获用户显示屏,例如用于屏幕共享等。
QWebEnginePage.DesktopAudioVideoCapture
音频和视频输出捕获。
- class FileSelectionMode#
此枚举表示
chooseFiles()
函数的实现是否应只返回一个文件或可能返回多个文件。常量
描述
QWebEnginePage.FileSelectOpen
仅返回一个文件名。
QWebEnginePage.FileSelectOpenMultiple
返回多个文件名。
QWebEnginePage.FileSelectUploadFolder
允许用户指定一个用于上传的单个现有文件夹。
QWebEnginePage.FileSelectSave
指定一个新文件。
- 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
资源使用率非常低的状态,其中整个浏览上下文都已丢弃。
备注
当使用
from __feature__ import true_property
时,可以直接使用属性;否则可以通过访问函数来使用。- 属性audioMutedᅟ: bool#
该属性标识当前页面的音频是否静音。
默认值为
false
。该属性保存页面文档体的背景颜色。
可以将背景颜色设置为Qt::transparent或半透明颜色以透过文档查看,或者在混合应用程序中将其设置为您的内容颜色,以防止在加载期间可能出现的白色闪烁。
默认值为白色。
该属性保存页面内容的大小。
- 访问函数
- 属性hasSelectionᅟ: bool#
该属性标识此页面是否包含选择的内容。
- 访问函数
该属性保存当前查看页面关联的图标。
默认情况下,此属性包含一个空图标。如果禁用了触摸图标(请参阅
QWebEngineSettings::TouchIconsEnabled
),将提供16x16和32x32像素两种大小的favicon,封装在QIcon
中。否则,将提供单图标,大小为可用最大尺寸。- 访问函数
此属性保存当前浏览的页面的关联图标URL。
默认情况下,此属性包含一个空URL。
- 访问函数
- 属性lifecycleState: QWebEnginePage.LifecycleState#
此属性保存页面的当前生命周期状态。
设置器强制实施以下限制
可见页面必须保持在活动状态。
如果页面正在被devToolsPage检查,则两个页面都必须处于活动状态。
处于弃用状态的页面只能转换为活动状态。这将导致页面重新加载。
这是生命周期状态的唯一硬限制,但请参阅
recommendedState
,了解推荐软限制。- 属性 loading: bool#
此属性表示页面是否正在加载。
- 访问函数
- 属性 recentlyAudible: bool#
此属性保存当前页面的可听状态,即是否有音频最近播放。
默认值为
false
。参阅
audioMuted
- 属性 recommendedState: QWebEnginePage.LifecycleState#
此属性保存页面生命周期的建议限制状态。
将生命周期状态设置得更低资源使用状态而不是建议状态可能导致副作用,例如停止背景音频播放或丢失HTML表单输入。但是,将生命周期状态设置到更高的资源状态是完全安全的。
- 属性 renderProcessPid: int#
此属性保存分配给当前页面主框架的渲染进程的进程ID(PID)。
如果尚没有可用的渲染进程,将返回
0
。此属性保存由当前查看的页面最初请求加载的URL。
- 访问函数
此属性保存页面内容的滚动位置。
- 访问函数
信号
scrollPositionChanged
- 属性 selectedText: str#
此属性保存当前选中的文本。
默认情况下,此属性包含空字符串。
- 访问函数
- 属性 title: str#
此属性保存由HTML
<title>
元素定义的页面标题。如果页面没有
<title>
元素,则使用URL代替。对于file://
URL,只使用文件名而不是完整路径。默认情况下,在加载任何内容之前,此属性包含空字符串。
- 访问函数
此属性保存当前查看的页面的URL。
设置此属性会清除视图并加载URL。
默认情况下,此属性包含一个空、无效的URL。
参阅
- 属性 visible: bool#
此属性表示页面是否在页面可见性API中被认为是可见的。
设置此属性会更改JavaScript中的`Document.hidden`和`Document.visibilityState`属性,网站可以使用这些属性在页面对用户不可见时自愿减少资源使用。
如果页面连接到视图,则此属性将由视图根据自身可见性自动管理。
参阅
- 访问函数
- 属性zoomFactor: float#
该属性保存页面内容的缩放因子。
有效值范围从
0.25
到5.0
。默认因子是1.0
。- __init__(profile[, parent=None])#
- 参数
profile –
QWebEngineProfile
parent –
QObject
在Web引擎配置
profile
中使用父级parent
创建一个空白的Web引擎页面。如果配置不是默认配置,调用者必须确保配置的存活时间与页面相同。
- __init__([parent=None])
- 参数
parent –
QObject
使用父级
parent
构建一个空白的QWebEnginePage
。- _q_aboutToDelete()#
- acceptAsNewWindow(request)#
- 参数
request –
QWebEngineNewWindowRequest
- 参数
url –
QUrl
类型 –
NavigationType
isMainFrame – bool
- 返回类型:
bool
此函数在接收到请求以指定导航类型
type
导航到指定url
时被调用。isMainFrame
表示请求是否对应于主框架或子框架。如果该函数返回true
,则接受导航请求并加载url
。默认实现接受所有导航请求。可以通过重载此函数将导航请求委派给 Qt 应用程序,而不是让 HTML 处理程序引 擎处理它们。当 HTML 文档作为用户界面的一部分使用,而不是显示外部数据时(例如,当显示结果列表时),这是必要的。
备注
在相同页面的片段导航上不会调用此函数。例如,通过单击页面内的“#片段”链接执行此类导航。虽然它改变了页面的 URL 并添加了历史条目,但不会触发加载到不同文档。它仅作为在页面内滚动的快捷方式。因此,不期望委派此类导航类型发生。
备注
开始加载过程,并在接受或拒绝请求之前发出
loadStarted()
信号。因此,即使在委派请求后,也预计会发出返回false
的loadFinished()
信号。备注
使用
setHtml
或setContent
并使用相对链接时,务必要指定一个基本 URL,否则这些链接将被视为无效,且不会发出任何导航请求。QWebEngineUrlRequestInterceptor
类提供了更多拦截和操作请求的选项。返回一个指定
WebAction
action
的 QAction。动作由
QWebEnginePage
拥有,但您可以通过更改其属性来自定义外观。QWebEnginePage::action(WebAction action) 方法没有默认样式图标。请使用
pageAction()
来获取具有默认样式图标的操作。QWebEnginePage
还负责实现操作,因此当触发相应操作时,会在页面上执行。- audioMutedChanged(muted)#
- 参数
muted - 布尔型
当页面状态更改时,会发出此信号。
备注
与特定 HTML5 音频或视频元素被静音不同。
属性
audioMuted
的通知信号。- authenticationRequired(requestUrl, authenticator)#
- 参数
requestUrl -
QUrl
authenticator -
QAuthenticator
当访问
requestUrl
需要身份验证时,会发出此信号。应使用authenticator
传递连接的用户名和密码。属性
backgroundColor
的获取器。- certificateError(certificateError)#
- 参数
certificateError -
QWebEngineCertificateError
当加载请求过程中出现无效证书错误时,会发出此信号。
certificateError
参数包含有关证书的错误详情,它还提供了忽略错误并完成请求或停止加载请求的方式。- chooseFiles(mode, oldFiles, acceptedMimeTypes)#
- 参数
mode -
FileSelectionMode
oldFiles - 字符串列表
acceptedMimeTypes - 字符串列表
- 返回类型:
字符串列表
当网页内容请求文件名时将调用此函数,例如,用户在HTML表单中点击文件上传按钮时。
mode
表示期望返回单个文件还是多个文件。建议的文件名可以作为
oldFiles
的第一个条目提供。acceptedMimeTypes
在默认实现中被忽略,但可能会被重写使用。是属性
contentsSizeᅟ
的获取器。是属性
contentsSizeᅟ
的通知信号。- createWindow(type)#
- 参数
type –
WebWindowType
- 返回类型:
该函数被调用来创建指定
type
的新窗口。例如,当JavaScript程序请求在新窗口中打开文档时。如果可以创建新窗口,则返回新窗口的
QWebEnginePage
;否则返回 null 指针。如果与网页关联的视图是一个
QWebEngineView
对象,则默认实现将请求转发给createWindow()
;否则它返回一个 null 指针。如果没有实现此调用或没有返回新页面,则发出
newWindowRequested()
来处理请求。备注
在由JavaScript触发的窗口创建情况下,除了重新实现此方法外,应用程序还必须在方法被调用前将
JavascriptCanOpenWindows
设置为true
。- devToolsId()#
- 返回类型:
str
返回与该页面关联的开发者工具主机标识符。
如果启用了远程调试(参见 Qt WebEngine 开发者工具 ),则可以使用该 ID 构建连接到开发者工具 WebSocket 的 URL:
ws://localhost:<debuggging-port>/devtools/page/<id>
。WebSocket 可用于使用 开发者工具协议 与页面交互。- devToolsPage()#
- 返回类型:
如果设置了开发者工具页面,则返回托管此页面开发者工具的页面。
如果没有设置开发者工具页面,则返回 `nullptr`。
从给定的
url
位置下载资源到本地文件。如果给出了
filename
,则将其用作建议的文件名。如果是相对路径,则在标准下载位置保存该文件。如果是空或空的 QString,则使用默认文件名。下载开始后会发出
downloadRequested()
信号。- featurePermissionRequestCanceled(securityOrigin, feature)#
当由
securityOrigin
标识的网站取消先前发出以使用feature
的请求时,发出此信号。当由
securityOrigin
标识的网站请求使用由feature
标识的资源或设备时,将发出此信号。- fileSystemAccessRequested(request)#
- 参数
request –
QWebEngineFileSystemAccessRequest
当网页请求访问本地文件或目录时,将发出此信号。
可以使用请求对象
request
接受或拒绝请求。- findText(subString[, options={}])
- 参数
subString – 字符串
options –
FindFlag
组合
- findTextFinished(result)#
- 参数
result –
QWebEngineFindTextResult
完成页面上的搜索字符串搜索后将发出此信号。
result
是字符串搜索的结果。参阅
- fullScreenRequested(fullScreenRequest)#
- 参数
fullScreenRequest –
QWebEngineFullScreenRequest
当网页发出使一个网页元素(通常是视频元素)进入全屏模式的请求时,会发出此信号。
可以通过请求对象
fullScreenRequest
来接受或拒绝请求。如果请求被接受,请求全屏的元素将填充可视区域,但是否使视图全屏或移动页面到全屏视图由应用程序决定。
每次文档想要将页面位置和大小改为
geom
时,都会发出此信号。例如,这可以通过JavaScript实现。备注
setGeometry() 预期一个不包括窗口装饰的大小,而
geom
包括它。为了正确处理此信号,需要从geom
中移除框架边距的大小。window->setGeometry(geom.marginsRemoved(window->frameMargins()));
- hasSelection()#
- 返回类型:
bool
属性 hasSelection 的获取器。
- history()#
- 返回类型:
返回指向已导航网页历史记录的视图指针。
属性 icon 的获取器。
当与页面关联的图标(“favicon”)改变时,会发出此信号。新的图标通过
icon
指定。属性 icon 的通知信号。
属性
iconUrlᅟ
的getter。当与页面关联的图标(“favicon”)的URL发生更改时,会发出此信号。新URL由
url
指定。属性
iconUrlᅟ
的通知信号。- inspectedPage()#
- 返回类型:
如果有的话,返回该页面正在检查的页面。
如果此页面不是开发者工具页面,则返回
nullptr
。- isAudioMuted()#
- 返回类型:
bool
属性
audioMutedᅟ
的getter。- isLoading()#
- 返回类型:
bool
属性
loadingᅟ
的getter。- isVisible()#
- 返回类型:
bool
属性
visibleᅟ
的getter。每当在
securityOrigin
所属的帧中运行的JavaScript程序调用alert()
函数并传递消息msg
时,将调用此函数。默认实现使用 QMessageBox::information 显示消息
msg
。此函数在运行在与
securityOrigin
相关的框架中的 JavaScript 程序调用confirm()
函数并带有消息msg
时被调用。如果用户确认消息,返回true
,否则返回false
。当处理程序
onbeforeunload
在离开页面之前请求确认时,也会调用此函数。默认实现通过使用 QMessageBox::information 并包含 QMessageBox::Ok 和 QMessageBox::Cancel 按钮来执行查询。
- javaScriptConsoleMessage(level, message, lineNumber, sourceID)#
- 参数
level –
JavaScriptConsoleMessageLevel
message – str
lineNumber – int
sourceID – str
当 JavaScript 程序试图将消息打印到网页浏览器的控制台时,将调用此函数。
例如,在评估错误的情况下,源 URL 可能会通过
sourceID
提供,同时也会提供lineNumber
。level
表示触发该消息的事件的严重性。也就是说,它是由错误还是较轻微的事件触发的。自 Qt 5.6 以来,默认实现将在
js
记录类别中记录消息。参阅
控制台记录
- javaScriptPrompt(securityOrigin, msg, defaultValue, result)#
- 参数
securityOrigin –
QUrl
msg – 字符串
defaultValue – str
result – str
- 返回类型:
bool
当运行在与
securityOrigin
相关的框架中的 JavaScript 程序试图提示用户输入时,将调用此函数。程序可能提供可选的消息msg
,以及在defaultValue
中输入的默认值。如果提示被用户取消,实现应返回
false
;否则结果应写入result
,并返回true
。如果提示没有被用户取消,实现应返回true
,且结果字符串不可为空。默认实现使用 QInputDialog::getText()。
获取属性
lifecycleState
的方法。- lifecycleStateChanged(state)#
- 参数
state –
LifecycleState
属性
lifecycleState
的通知信号。- linkHovered(url)#
- 参数
url – str
当鼠标悬停在链接上时,发出此信号。
url
包含链接的目标URL。将
url
加载到当前页面。- load(request)
- 参数
request –
QWebEngineHttpRequest
发出指定的
request
并加载响应。- loadFinished(ok)#
- 参数
ok – bool
当页面内容加载完成后,会发出此信号。此信号与脚本的执行或页面的渲染无关。
ok
将指示加载是否成功或发生错误。备注
可以通过重载
acceptNavigationRequest()
函数来将导航请求委托给Qt应用程序,而不是让HTML处理器引擎处理它们。因为加载过程是在请求接受或拒绝之前开始并且发出loadStarted()
信号的,所以在请求委托后,即使返回false
,也应该期待一个loadFinished()
信号。- loadProgress(progress)#
- 参数
progress – int
当全局进度状态改变时,会发出此信号。当前值由
progress
提供,并从0到100缩放,这是QProgressBar的默认范围。它累积所有子框架的更改。- loadStarted()#
当页面开始加载内容时,会发出此信号。
- loadingChanged(loadingInfo)#
- 参数
loadingInfo –
QWebEngineLoadingInfo
当通过
loadingInfo
指定页面加载开始或结束时,或加载失败时,会发出此信号。是属性
loadingᅟ
的通知信号。- newWindowRequested(request)#
- 参数
request –
QWebEngineNewWindowRequest
当发出加载一个页面到单独的web引擎窗口的请求时,会发出此信号。这可能是由于当前页面通过JavaScript调用
window.open
明确请求,或者用户在按住Shift、Ctrl或内置的组合时单击链接以在新的窗口中打开页面。信号通过调用带新页面的 openIn() 方法来处理。如果这个信号没有被处理,请求将失败。
- pdfPrintingFinished(filePath, success)#
- 参数
filePath – 字符串
success – 布尔值
当将网页内容打印到 PDF 文件完成时,会发出此信号。文件路径
filePath
将包含文件请求创建的路径,如果文件成功创建,则success
为true
,否则为false
。参阅
- printRequested()#
当调用 JavaScript 方法
window.print()
或者用户按下 PDF 查看器插件的打印按钮时,会发出此信号。通常,信号处理器可以简单地调用printToPdf()
.参阅
- printToPdf(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])#
- 参数
filePath – 字符串
layout –
QPageLayout
ranges –
QPageRanges
将页面当前内容渲染成 PDF 文档,并保存到
filePath
指定位置。产生的 PDF 文档的页面大小和方向从layout
中指定的值中取得,而打印的页面范围从ranges
中获取,默认为打印所有页面。此方法发出异步请求将网页打印成 PDF,并立即返回。要获取请求的结果,请连接到信号
pdfPrintingFinished()
.备注
可以使用
Stop
网页动作来中断此异步操作。如果在提供的文件路径中已存在文件,则将覆盖该文件。
- profile()#
- 返回类型:
返回页面所属的网页引擎配置文件。
- proxyAuthenticationRequired(requestUrl, authenticator, proxyHost)#
- 参数
requestUrl -
QUrl
authenticator -
QAuthenticator
proxyHost – 字符串
当通过
proxyHost
访问requestUrl
需要代理认证时,将发出此信号。应使用authenticator
来传递连接的用户名和密码。- quotaRequested(quotaRequest)#
- 参数
quotaRequest –
QWebEngineQuotaRequest
备注
此函数已弃用。
此信号不再发出。
Chromium 不再支持请求主机配额。navigator.webkitPersistentStorage 的行为与 navigator.webkitTemporaryStorage 相同。
有关更多信息,请参阅 https://crbug.com/1233525
- recentlyAudible()#
- 返回类型:
bool
recentlyAudible
属性的获取器。- recentlyAudibleChanged(recentlyAudible)#
- 参数
recentlyAudible – 布尔
当页面可听状态
recentlyAudible
发生变化(音频播放或停止)时,将发出此信号。备注
在调用
setAudioMuted()
方法时,也会发出此信号。recentlyAudible
属性的通知信号。recommendedState
属性的获取器。- recommendedStateChanged(state)#
- 参数
state –
LifecycleState
recommendedState
属性的通知信号。- registerProtocolHandlerRequested(request)#
- 参数
警告
本节包含从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()#
- 返回类型:
int
renderProcessPid
属性的获取器。- renderProcessPidChanged(pid)#
- 参数
pid – int
当基础渲染进程PID
pid
改变时,会发出此信号。renderProcessPid
属性的属性通知信号。- renderProcessTerminated(terminationStatus, exitCode)#
- 参数
terminationStatus –
RenderProcessTerminationStatus
exitCode – int
渲染进程终止时发出该信号,非零退出状态。`terminationStatus`是进程的终止状态,`exitCode`是进程终止时的状态代码。
- replaceMisspelledWord(replacement)#
- 参数
replacement – str
用
replacement
替换当前拼写错误的单词。当前的拼写错误的单词可以在
misspelledWord()
中找到,建议的替换可以在spellCheckerSuggestions()
中找到。requestedUrl
属性的获取器。- runJavaScript(arg__1, arg__2, arg__3)#
- 参数
arg__1 – 字符串
arg__2 – int
arg__3 – 对象
- runJavaScript(scriptSource[, worldId=0])
- 参数
scriptSource – 字符串
worldId – int
- save(filePath[, format=QWebEngineDownloadRequest.MimeHtmlSaveFormat])#
- 参数
filePath – 字符串
format –
SavePageFormat
将当前加载的网页保存到磁盘。
网页将按照指定的
format
保存在filePath
。这是以下操作的快捷方式:
触发保存网页操作。
接受下一个下载项并设置指定的文件路径和保存格式。
本函数对网页执行异步下载请求,并立即返回。
- scripts()#
返回注入到页面的脚本集合。
此外,页面还可能执行通过
scripts()
添加的脚本。scrollPosition
属性的获取器。scrollPosition
属性的属性变更通知信号。- selectedText()#
- 返回类型:
str
selectedText
属性的获取器。- selectionChanged()#
该信号会在选择改变时触发,无论是通过交互还是通过程序方式。例如,可以通过调用
triggerAction()
方法来执行选择操作。- setAudioMuted(muted)#
- 参数
muted - 布尔型
audioMuted
属性的设置器。backgroundColor
属性的设置器。- setContent(data[, mimeType=""[, baseUrl=QUrl()]])#
- 参数
data –
QByteArray
mimeType – 字符串
baseUrl –
QUrl
将网页内容设置为
data
。如果mimeType
参数为空字符串,则假定内容类型为text/plain,charset=US-ASCII
。在内容中引用的外部对象位于
baseUrl
的相对位置。为了加载具有相对 URL 的外部对象,baseUrl
不能为空。数据将被立即加载;外部对象将异步加载。
备注
此方法不会影响页面的会话历史。
警告
在通过 IPC 发送到渲染器之前,内容将被百分号编码。这可能会增加其大小。百分号编码内容的最大大小为 2 兆字节减去 6 字节加上 MIME 类型字符串的长度。
- setDevToolsPage(page)#
- 参数
页面 –
QWebEnginePage
将
devToolsPage
绑定为此页面的开发者工具。触发devToolsPage
导航到包含开发者工具的内部 URL。这等同于在
devToolsPage
上调用setInspectedPage()
方法,并用this
作为参数。- setFeaturePermission(securityOrigin, feature, policy)#
- 参数
securityOrigin –
QUrl
feature –
Feature
策略 –
PermissionPolicy
将
securityOrigin
识别的网站的feature
允许策略设置为policy
。备注
此方法主要在发出
featurePermissionRequested()
信号后调用,以触发特征权限响应。它也可以在请求发出之前调用,但对于仅设置被动检查权限的响应,这对于在明确请求之前检查权限的 Notification API 主要有用。将此页面的内容设置为
html
。baseUrl
为可选参数,用于解析文档中的相对 URL,例如引用的图像或样式中表。html
将立即加载;外部对象异步加载。如果
html
中的脚本执行时间超过默认脚本超时时间(目前为 10 秒),例如由于被模态 JavaScript 警告对话框阻止,此方法将在超时后尽快返回,并将任何后续的html
异步加载。在使用此方法时,网页引擎假定除非另行指定,否则外部资源(如JavaScript程序或样式表)采用UTF-8编码。例如,可以通过HTML脚本标签的charset属性指定外部脚本的编码。还可能由网页服务器指定编码。
这是一个等价于
setContent
(html,"text/html",baseUrl)的方便函数。备注
此方法不会影响页面的会话历史。
警告
此函数仅适用于HTML,对于其他MIME类型(如XHTML和SVG),应使用
setContent()
代替。警告
在通过IPC发送到渲染器之前,内容将进行百分号编码。这可能会增加其大小。百分号编码内容的最大大小为2兆字节减去30字节。
参阅
toHtml()
setContent()
load()
- setInspectedPage(page)#
- 参数
页面 –
QWebEnginePage
将此页面导航到
page
的开发者工具的内部URL。这相当于在
page
上调用setDevToolsPage()
,并将此作为参数传递。参阅
inspectedPage()
setDevToolsPage()
- setLifecycleState(state)#
- 参数
state –
LifecycleState
设置属性
lifecycleState
的setter。设置属性
url
的setter。- setUrlRequestInterceptor(interceptor)#
- 参数
interceptor –
QWebEngineUrlRequestInterceptor
注册请求拦截器
interceptor
以拦截URL请求。页面不会接管指针。此拦截器在任何配置文件拦截器之后调用,并且与配置文件拦截器不同,只拦截来自此页面的URL请求。如果原始请求已被配置文件拦截器阻止或重定向,则不会被此拦截器拦截。
要取消设置请求拦截器,设置一个
nullptr
。- setVisible(visible)#
- 参数
visible – bool
参阅
属性
visibleᅟ
的设置器。- setWebChannel(arg__1[, worldId=0])#
- 参数
arg__1 –
QWebChannel
worldId – int
将页面要使用的Web通道实例设置为
channel
,并使用Chromium IPC消息将其连接到Web引擎的传输。该传输在JavaScript世界worldId
中作为qt.webChannelTransport
暴露,当使用Qt WebChannel JavaScript API时应该使用它。备注
页面不会接管通道对象。
- setZoomFactor(factor)#
- 参数
factor – float
参阅
属性
zoomFactorᅟ
的设置器。- settings()#
- 返回类型:
返回页面设置对象的指针。
- title()#
- 返回类型:
str
属性
titleᅟ
的获取器。- titleChanged(title)#
- 参数
title – str
每当页面标题更改时,都会发出此信号。字符串
title
指定新标题。参阅
- toHtml(arg__1)#
- 参数
arg__1 – 对象
- toPlainText(arg__1)#
- 参数
arg__1 – 对象
该函数可用于触发指定的
action
。当用户触发动作时,Qt WebEngine 也会调用该函数,例如通过上下文菜单项。如果
action
是一个可切换的动作,则checked
指定该动作是否被切换。参阅
属性
url
的获取器。当接收到页面标题时,此信号会发出包含页面 URL 的信息。新的 URL 由
url
指定。参阅
属性
url
的通知信号。- visibleChanged(visible)#
- 参数
visible – bool
属性
visible
的通知信号。- webAuthUxRequested(request)#
- 参数
request –
QWebEngineWebAuthUxRequest
当 WebAuth 验证器在身份验证过程中需要用户交互时,会发出此信号。这些请求通过向用户显示对话框来处理。
request
包含完成 WebAuth UX 请求所需的信息和 API。- webChannel()#
- 返回类型:
返回此页面所使用的 WebChannel 实例的指针,如果没有设置则返回空指针。此通道自动使用内部 Web 引擎传输机制,它作为
qt.webChannelTransport
在当前页面的 JavaScript 上下文中暴露。- windowCloseRequested()#
每当页面请求关闭网页浏览器窗口时,都会发出此信号,例如通过JavaScript的
window.close()
调用。参阅
- zoomFactor()#
- 返回类型:
float
属性
zoomFactor
的获取器。