PySide6.QtWebEngineCore.QWebEngineDownloadRequest¶
- class QWebEngineDownloadRequest¶
QWebEngineDownloadRequest
类提供了有关下载的信息。更多…概要¶
属性¶
isFinishedᅟ
- 此下载是否已完成(完成、取消或不可恢复的中断状态)isPausedᅟ
- 此下载是否已暂停
方法¶
def
id()
def
isFinished()
def
isPaused()
def
mimeType()
def
page()
def
receivedBytes()
def
savePageFormat()
def
state()
def
totalBytes()
def
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¶
- Access functions:
- property downloadFileNameᅟ: str¶
- Access functions:
- property idᅟ: int¶
- Access functions:
- property interruptReasonᅟ: QWebEngineDownloadRequest.DownloadInterruptReason¶
- Access functions:
- property interruptReasonStringᅟ: str¶
- Access functions:
- property isFinishedᅟ: bool¶
此属性表示此下载是否已完成(完成、取消或不可恢复的中断状态)。
另请参阅
- Access functions:
- property isPausedᅟ: bool¶
此属性表示此下载是否已暂停。
- Access functions:
- property isSavePageDownloadᅟ: bool¶
- Access functions:
- property mimeTypeᅟ: str¶
- Access functions:
- property receivedBytesᅟ: int¶
- Access functions:
- property savePageFormatᅟ: QWebEngineDownloadRequest.SavePageFormat¶
- Access functions:
- property stateᅟ: QWebEngineDownloadRequest.DownloadState¶
- Access functions:
- property suggestedFileNameᅟ: str¶
- Access functions:
- property totalBytesᅟ: int¶
- Access functions:
- Access functions:
- accept()¶
接受当前的下载请求,这将开始下载。
如果项目处于
DownloadRequested
状态,那么它将过渡到DownloadInProgress
状态并开始下载。如果项目处于任何其他状态,则不会发生任何事情。另请参阅
- cancel()¶
取消当前下载。
如果项目处于
DownloadInProgress
状态,那么它将过渡到DownloadCancelled
状态,下载将停止,并且部分下载的文件将从磁盘中删除。如果项目处于
DownloadCompleted
状态,则不会发生任何变化。如果项目处于任何其他状态,则它将过渡到DownloadCancelled
状态,且不会产生进一步的影响。另请参阅
- downloadDirectory()¶
- Return type:
字符串
返回下载目录路径。
属性
downloadDirectoryᅟ
的获取器。- downloadDirectoryChanged()¶
属性
downloadDirectoryᅟ
的通知信号。- downloadFileName()¶
- Return type:
字符串
返回要下载文件的文件名。
属性
downloadFileNameᅟ
的获取器。- downloadFileNameChanged()¶
属性
downloadFileNameᅟ
的通知信号。- id()¶
- Return type:
整数
返回下载项的ID。
属性
idᅟ
的获取器。- interruptReason()¶
- Return type:
返回下载被中断的原因。
属性
interruptReasonᅟ
的获取器。- interruptReasonChanged()¶
属性
interruptReasonᅟ
的通知信号。- interruptReasonString()¶
- Return type:
字符串
返回一个可读的描述,说明中断下载的原因。
另请参阅
属性
interruptReasonStringᅟ
的获取器。- isFinished()¶
- Return type:
布尔
属性
isFinishedᅟ
的获取器。- isFinishedChanged()¶
属性
isFinishedᅟ
的通知信号。- isPaused()¶
- Return type:
布尔
属性
isPausedᅟ
的获取器。- isPausedChanged()¶
每当
isPaused
发生变化时,都会发出此信号。属性
isPausedᅟ
的通知信号。- isSavePageDownload()¶
- Return type:
布尔
如果这是一个用于保存网页的下载请求,则返回
true
。属性
isSavePageDownloadᅟ
的获取器。- mimeType()¶
- Return type:
字符串
返回下载的MIME类型。
获取属性
mimeTypeᅟ
的Getter。- page()¶
- Return type:
返回下载请求所在的页面。如果下载不是由页面内容触发的,则返回
nullptr
。- pause()¶
暂停下载。
如果状态不是
DownloadInProgress
,则无效。不会改变状态。另请参阅
- receivedBytes()¶
- Return type:
整数
返回到目前为止已下载的数据量(以字节为单位)。
-1
表示大小未知。属性
receivedBytesᅟ
的获取器。- receivedBytesChanged()¶
属性
receivedBytesᅟ
的通知信号。- resume()¶
如果当前下载被暂停或中断,则恢复下载。
如果状态不是
DownloadInProgress
或DownloadInterrupted
,则无效。不会改变状态。另请参阅
- savePageFormat()¶
- Return type:
返回如果这是网页的下载请求,网页将保存的格式。
属性
savePageFormatᅟ
的获取器。- savePageFormatChanged()¶
属性
savePageFormatᅟ
的通知信号。- setDownloadDirectory(directory)¶
- Parameters:
目录 – str
将
directory
设置为下载文件的目录路径。下载目录路径只能在下载被接受之前响应
downloadRequested()
信号时设置。过了这个点,此函数对下载项的状态没有影响。另请参阅
属性
downloadDirectoryᅟ
的设置器。- setDownloadFileName(fileName)¶
- Parameters:
fileName – str
将
fileName
设置为下载文件的文件名。下载文件名只能在下载被接受之前响应
downloadRequested()
信号时设置。过了这个点,此函数对下载项的状态没有影响。另请参阅
属性
downloadFileNameᅟ
的设置器。- setSavePageFormat(format)¶
- Parameters:
格式 –
SavePageFormat
设置网页保存的
format
,如果这是网页的下载请求。属性
savePageFormatᅟ
的设置器。- state()¶
- Return type:
返回下载项的当前状态。
另请参阅
属性
stateᅟ
的获取器。- stateChanged(state)¶
- Parameters:
状态 –
DownloadState
每当下载的
state
状态发生变化时,都会发出此信号。另请参阅
属性
stateᅟ
的通知信号。- suggestedFileName()¶
- Return type:
字符串
返回建议的文件名。
属性
suggestedFileNameᅟ
的获取器。- totalBytes()¶
- Return type:
整数
返回要下载的数据总量,单位为字节。
-1
表示大小未知。属性
totalBytesᅟ
的获取器。- totalBytesChanged()¶
属性
totalBytesᅟ
的通知信号。返回下载的原始URL。
属性
urlᅟ
的获取器。