- class QWebEngineDownloadRequest#
QWebEngineDownloadRequest
类提供了有关下载的信息。更多...摘要#
属性#
isFinishedᅟ
- 是否此下载已完成(完成、取消或不可恢复的中断状态)isPausedᅟ
- 是否此下载已暂停
方法#
def
id()
def
isFinished()
def
isPaused()
def
mimeType()
def
page()
def
receivedBytes()
def
savePageFormat()
def
state()
定义
totalBytes()
定义
url()
插槽#
信号#
注意
这份文档可能包含从C++自动翻译成Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式告诉我们
详细描述#
QWebEngineDownloadRequest
模式化了一个下载的整个生命周期,从挂起的下载请求开始,到最后完成的下载。它可以用来,例如,获取有关新下载的信息、监控进度,以及暂停、恢复和取消下载。下载通常是由用户在网页上的交互触发的。这是由
QWebEngineProfile
负责通知应用程序有新的下载请求,它通过发出downloadRequested
信号来实现,并同时创建一个新的QWebEngineDownloadRequest
。应用程序可以检查这个条目并决定是否接受它。信号处理器必须显式地调用条目上的accept()
以让 Qt WebEngine 实际开始下载并将数据写入磁盘。如果没有信号处理器调用accept()
,则下载请求将自动被拒绝,并且不会将任何内容写入磁盘。注意
一些属性,例如设置要保存文件的路径和文件名(请参阅
downloadDirectory()
和downloadFileName()
),必须在调用accept()
之前更改。对象生命周期#
所有条目在发出
downloadRequested
信号期间都保证是有效的。如果没有任何信号处理器调用accept()
,则该项目将在信号发出后立即被删除。这意味着应用程序 绝对不应该 保留被拒绝的下载项目的引用。这也意味着应用程序不应该使用排队的连接到这个信号。如果由信号处理器调用
accept()
,则QWebEngineProfile
将拥有该项目的所有权。然而,在不处理downloadRequested
信号的情况下,应用程序可以在任何时候删除项目。由于QWebEngineProfile
是一个长生命周期的对象,事实上建议应用程序删除任何不再关心的项目。注意
从 5.12.2 版本开始,删除项目也会自动取消下载,但建议在删除之前手动取消,以确保兼容性。
网页下载#
除了正常的文件下载,这仅仅是从网络获取一些原始字节并将它们写入磁盘之外,Qt WebEngine 还支持保存完整的网页,这涉及到解析网页的 HTML,下载任何依赖资源,并将一切打包到特殊的文件格式中(
savePageFormat
)。要检查下载是否为文件或网页,请使用isSavePageDownload
。- class DownloadState#
此枚举描述了下载的状态
常数
描述
QWebEngineDownloadRequest.DownloadRequested
已请求下载,但尚未接受。
QWebEngineDownloadRequest.DownloadInProgress
正在下载。
QWebEngineDownloadRequest.DownloadCompleted
下载成功完成。
QWebEngineDownloadRequest.DownloadCancelled
已取消下载。
QWebEngineDownloadRequest.DownloadInterrupted
下载已被中断(由服务器或因为连接丢失)。
- class SavePageFormat#
此枚举描述了保存网页所使用的格式。
常数
描述
QWebEngineDownloadRequest.UnknownSaveFormat
这不是下载完整网页的请求。
QWebEngineDownloadRequest.SingleHtmlSaveFormat
页面以单个 HTML 页面保存。例如,图像等资源不保存。
QWebEngineDownloadRequest.CompleteHtmlSaveFormat
页面作为完整的 HTML 页面保存,例如一个包含单个 HTML 页面及其资源的目录。
QWebEngineDownloadRequest.MimeHtmlSaveFormat
页面以MIME HTML格式保存为完整网页。
- class DownloadInterruptReason#
描述下载中断的原因
常数
描述
QWebEngineDownloadRequest.NoReason
未知原因或没有中断。
QWebEngineDownloadRequest.FileFailed
一般文件操作失败。
QWebEngineDownloadRequest.FileAccessDenied
该文件不能在本地上写入,由于访问限制。
QWebEngineDownloadRequest.FileNoSpace
目标驱动器空间不足。
QWebEngineDownloadRequest.FileNameTooLong
目录或文件名过长。
QWebEngineDownloadRequest.FileTooLarge
文件大小超过了文件系统限制。
QWebEngineDownloadRequest.FileVirusInfected
文件感染了病毒。
QWebEngineDownloadRequest.FileTransientError
临时问题(例如,文件正在使用中、内存不足或一次性打开太多文件)。
QWebEngineDownloadRequest.FileBlocked
由于本地策略,文件被阻止。
QWebEngineDownloadRequest.FileSecurityCheckFailed
由于意外原因,尝试检查下载的安全性失败。
QWebEngineDownloadRequest.FileTooShort
打开文件时尝试查找文件末尾之后的位置(作为恢复之前中断的下载的一部分)。
QWebEngineDownloadRequest.FileHashMismatch
部分文件与预期的散列值不匹配。
QWebEngineDownloadRequest.NetworkFailed
一般网络失败。
QWebEngineDownloadRequest.NetworkTimeout
网络操作已超时。
QWebEngineDownloadRequest.NetworkDisconnected
网络连接已被终止。
QWebEngineDownloadRequest.NetworkServerDown
服务器已经关闭。
QWebEngineDownloadRequest.NetworkInvalidRequest
网络请求无效(例如,原始或重定向URL无效,有不支持的方案,或策略不允许)。
QWebEngineDownloadRequest.ServerFailed
一般服务器失败。
QWebEngineDownloadRequest.ServerBadContent
服务器没有请求的数据。
QWebEngineDownloadRequest.ServerUnauthorized
服务器没有授权访问资源。
QWebEngineDownloadRequest.ServerCertProblem
服务器证书出现问题。
QWebEngineDownloadRequest.ServerForbidden
服务器禁止访问。
QWebEngineDownloadRequest.ServerUnreachable
意外服务器响应(可能表明响应服务器不是预期的服务器)。
QWebEngineDownloadRequest.UserCanceled
用户已取消下载。
注意
当使用
from __feature__ import true_property
时,可以直接使用属性;否则通过访问函数使用。- property downloadDirectoryᅟ: str#
- property downloadFileNameᅟ: str#
- 属性 id: int#
- 访问函数
- 属性 interruptReason: QWebEngineDownloadRequest.DownloadInterruptReason#
- 属性 interruptReasonString: str#
- 属性 isFinished: bool#
该属性表示是否完成下载(完成、取消或不可恢复的中断状态)。
另请参阅
- 访问函数
- 属性 isPaused: bool#
该属性表示下载是否已暂停。
- 访问函数
- 属性 isSavePageDownload: bool#
- 访问函数
- 属性 mimeType: str#
- 访问函数
- 属性 receivedBytes: int#
- 属性 savePageFormat:QWebEngineDownloadRequest.SavePageFormat#
- 访问函数
- 属性 suggestedFileName:str#
- 访问函数
- 属性 totalBytes:int#
- 访问函数
- 访问函数
- accept()#
接受当前下载请求,这将开始下载。
如果项目处于
DownloadRequested
状态,则它会过渡到DownloadInProgress
状态,下载将开始。如果项目处于任何其他状态,则不会发生任何事情。另请参阅
- cancel()#
取消当前下载。
如果项目处于
DownloadInProgress
状态,则它将过渡到DownloadCancelled
状态,下载将停止,部分下载的文件将从磁盘删除。如果项目处于
DownloadCompleted
状态,则不会发生任何事。如果项目处于任何其他状态,则它将过渡到DownloadCancelled
状态而不会产生其他效果。另请参阅
- downloadDirectory()#
- 返回类型:
str
返回下载目录路径。
属性
downloadDirectory
的获取器。- downloadDirectoryChanged()#
属性
downloadDirectory
的通知信号。- downloadFileName()#
- 返回类型:
str
返回将文件下载到其中的文件名。
属性
downloadFileName
的获取器。- downloadFileNameChanged()#
属性
downloadFileName
的通知信号。- id()#
- 返回类型:
int
返回下载项的ID。
属性
id
的获取器。- interruptReason()#
- 返回类型:
返回下载中断的原因。
属性
interruptReason
的获取器。- interruptReasonChanged()#
属性
interruptReason
的通知信号。- interruptReasonString()#
- 返回类型:
str
返回中断下载原因的易读描述。
另请参阅
属性
interruptReasonString
的获取器。- isFinished()#
- 返回类型:
bool
属性
isFinished
的获取器。- isFinishedChanged()#
isFinished
属性的通知信号。- isPaused()#
- 返回类型:
bool
属性
isPaused
的获取器。- isPausedChanged()#
每当
isPaused
发生变化时都会发出此信号。isPaused
属性的通知信号。- isSavePageDownload()#
- 返回类型:
bool
如果这是一个保存网页的下载请求,则返回
true
。属性
isSavePageDownload
的获取器。- mimeType()#
- 返回类型:
str
返回下载的 MIME 类型。
属性
mimeType
的获取器。- page()#
- 返回类型:
返回请求下载的页面。如果下载不是由页面中的内容触发的,则返回
nullptr
。- pause()#
暂停下载。
如果状态不是
DownloadInProgress
,则无效果。不改变状态。另请参阅
- receivedBytes()#
- 返回类型:
int
返回到目前为止已下载的数据字节数。
-1
表示大小未知。属性
receivedBytesᅟ
的获取器。- receivedBytesChanged()#
属性
receivedBytesᅟ
的属性变化通知信号。- resume()#
如果下载被暂停或中断,则继续当前下载。
如果状态不是
DownloadInProgress
或DownloadInterrupted
则无效果。不改变状态。另请参阅
- savePageFormat()#
- 返回类型:
如果这是一个针对网页的下载请求,则返回网页将被保存的格式。
属性
savePageFormatᅟ
的获取器。- savePageFormatChanged()#
属性
savePageFormat
的通知信号。- setDownloadDirectory(directory)#
- 参数:
directory – str
将
directory
设置为下载文件的目录路径。下载目录路径必须在响应
downloadRequested()
信号之前设置,以接收下载请求。在此之后,此函数对下载项目状态没有任何影响。另请参阅
downloadDirectory
属性的设置器。- setDownloadFileName(fileName)#
- 参数:
fileName – str
将
fileName
设置为下载文件的文件名。必须在响应
downloadRequested()
信号(在下载请求接受之前)设置下载文件名。在此之后,此函数对下载项目状态没有任何影响。另请参阅
downloadFileName
属性的设置器。- setSavePageFormat(format)#
- 参数:
format –
SavePageFormat
如果这是一个网页下载请求,设置网页保存的格式。
savePageFormat
属性的设置器。- state()#
- 返回类型:
返回下载项的当前状态。
另请参阅
属性
state
的获取器。- stateChanged(state)#
- 参数:
state –
DownloadState
当下载的
state
发生变化时发出此信号。另请参阅
属性
state
的通知信号。- suggestedFileName()#
- 返回类型:
str
返回建议的文件名。
属性
suggestedFileName
的获取器。- totalBytes()#
- 返回类型:
int
返回要下载的数据总字节数。
-1
表示大小未知。属性
totalBytes
的获取器。- totalBytesChanged()#
属性
totalBytes
的通知信号。返回下载的原始URL。
属性
url
的获取器。