PySide6.QtWebEngineQuick.QQuickWebEngineProfile

class QQuickWebEngineProfile

QQuickWebEngineProfile 类提供了一个由多个页面共享的网页引擎配置文件。更多

PySide6.QtWebEngineQuick.QQuickWebEngineProfile 的继承图

概要

属性

方法

信号

静态函数

注意

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

详细描述

一个网页引擎配置文件包含设置、脚本、持久性cookie策略以及属于该配置文件的所有网页引擎页面共享的访问链接列表。

关于访问过的链接的信息与持久性cookie和其他持久性数据一起存储在由storageName属性确定的存储中。持久性数据存储在由persistentStoragePath属性确定的子目录中,缓存存储在由cachePath属性确定的子目录中。httpCacheType属性描述了缓存的类型:内存中磁盘上。如果仅设置了storageName属性,其他值将基于它自动生成。如果您手动指定任何值,应在创建属于配置文件的任何页面之前进行。

配置文件可以用于将页面彼此隔离。一个典型的用例是用于隐私浏览模式的专用无痕配置文件。无痕配置文件强制将cookies、HTTP缓存和其他通常持久化的数据仅存储在内存中。offTheRecord属性用于判断配置文件是否为无痕模式。

默认配置文件可以通过defaultProfile()访问。它是一个内置的配置文件,所有未特别使用其他配置文件创建的网页都属于此配置文件。

可以通过C++中的QQuickWebEngineProfile类创建和访问WebEngineProfile实例,该类在C++中暴露了更多功能。这使得Qt Quick应用程序能够拦截URL请求(QQuickWebEngineProfile::setRequestInterceptor),或者注册自定义URL方案(installUrlSchemeHandler)。

可以通过设置spellCheckEnabled属性来为每个配置文件启用HTML表单字段的拼写检查,并且可以通过使用spellCheckLanguages属性来设置当前用于拼写检查的语言。

class HttpCacheType

此枚举描述了HTTP缓存类型:

常量

描述

QQuickWebEngineProfile.MemoryHttpCache

使用内存缓存。如果设置了off-the-record,这是默认设置。

QQuickWebEngineProfile.DiskHttpCache

使用磁盘缓存。如果未设置off-the-record,这是默认设置。如果设置了off-the-record,则回退到MemoryHttpCache

QQuickWebEngineProfile.NoCache

禁用内存和磁盘缓存。(在Qt 5.7中添加)

class PersistentCookiesPolicy

此枚举描述了cookie持久性的策略:

常量

描述

QQuickWebEngineProfile.NoPersistentCookies

会话和持久性cookie都存储在内存中。如果设置了off-the-record或没有可用的持久数据路径,这是唯一可能的设置。

QQuickWebEngineProfile.AllowPersistentCookies

标记为持久的Cookies会被保存到磁盘并从磁盘恢复,而会话Cookies仅存储在磁盘上用于崩溃恢复。这是默认设置。

QQuickWebEngineProfile.ForcePersistentCookies

会话和持久性 cookie 都会保存到磁盘并从磁盘恢复。

class PersistentPermissionsPolicy

此枚举描述了权限持久化的策略:

常量

描述

QQuickWebEngineProfile.PersistentPermissionsPolicy.AskEveryTime

应用程序每次需要权限时都会询问,无论之前是否已经授予过权限。这是为了与现有应用程序向后兼容,否则不推荐使用。

QQuickWebEngineProfile.PersistentPermissionsPolicy.StoreInMemory

只有在第一次需要权限时才会发出请求。任何后续请求将根据初始用户选择自动批准或拒绝。这将延续到所有使用相同QQuickWebEngineProfile实例的页面,直到应用程序关闭。如果设置了off-the-record或没有可用的持久数据路径,则应用此设置。

QQuickWebEngineProfile.PersistentPermissionsPolicy.StoreOnDisk

PersistentPermissionsInMemory的工作方式相同,但权限会保存到磁盘并从磁盘恢复。这是默认设置。

在版本6.8中添加。

注意

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

property cachePathᅟ: str

配置文件缓存存储位置的路径,特别是HTTP缓存。

默认情况下,缓存存储在 QStandardPaths::writableLocation(QStandardPaths::CacheLocation) 下的一个目录中,该目录使用 storageName 命名。

Access functions:
property clientHintsᅟ: QWebEngineClientHints
Access functions:
property downloadPathᅟ: str

下载文件存储位置的路径。

覆盖用于下载位置的默认路径,将其设置为path

如果设置为空字符串,则恢复默认路径。

注意

默认情况下,下载路径是 QStandardPaths::DownloadLocation。

Access functions:
property httpAcceptLanguageᅟ: str

Accept-Language HTTP 请求头字段的值。

Access functions:
property httpCacheMaximumSizeᅟ: int

HTTP缓存的最大大小。如果0,大小将由QtWebEngine自动控制。默认值为0

另请参阅

httpCacheType

Access functions:
property httpCacheTypeᅟ: QQuickWebEngineProfile.HttpCacheType

此枚举描述了HTTP缓存的类型。

如果配置文件是离线的或没有设置storageName,则返回MemoryHttpCache

Access functions:
property httpUserAgentᅟ: str

发送HTTP请求时用于识别浏览器的用户代理字符串。

Access functions:
property isPushServiceEnabledᅟ: bool

推送消息服务是否已启用。

注意

默认情况下,推送消息服务是禁用的。

注意

Qt WebEngine 使用 Firebase Cloud Messaging (FCM) 作为浏览器推送服务。因此,所有推送消息都将通过 Google 推送服务及其相应的服务器。

Access functions:
property offTheRecordᅟ: bool

网络引擎配置文件是否为无记录。无记录配置文件强制将cookie、HTTP缓存和其他通常持久化的数据仅存储在内存中。配置文件默认是无记录的。

将配置文件从脱机更改为基于磁盘的行为还需要设置适当的storageName

另请参阅

setStorageName()

Access functions:
property persistentCookiesPolicyᅟ: QQuickWebEngineProfile.PersistentCookiesPolicy

此枚举描述了cookie持久性的策略。如果配置文件是离线的,则返回NoPersistentCookies

Access functions:
property persistentPermissionsPolicyᅟ: QQuickWebEngineProfile.持久权限策略

描述了权限持久化的策略。如果配置文件是离线的,则返回NoPersistentCookies

Access functions:
property persistentStoragePathᅟ: str

浏览器和网页内容持久化数据的存储位置路径。持久化数据包括持久化cookie、HTML5本地存储和访问过的链接。

默认情况下,存储位于 QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) 下的一个目录中,该目录使用 storageName 命名。

Access functions:
property spellCheckEnabledᅟ: bool

此属性表示是否启用了网页引擎拼写检查器。

Access functions:
property spellCheckLanguagesᅟ: list of strings

此属性保存拼写检查器使用的语言。

Access functions:
property storageNameᅟ: str

用于为每个使用磁盘存储持久数据和缓存的配置文件创建单独子目录的存储名称。

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

父对象QObject

使用父级 parent 构建一个新的脱机配置文件。

一个不记录的配置文件不会在本地机器上留下任何记录,也没有持久的数据或缓存。因此,HTTP缓存只能在内存中,而cookie只能是非持久的。尝试更改这些设置将不会产生任何效果。

cachePath()
Return type:

字符串

另请参阅

setCachePath()

属性 cachePathᅟ 的获取器。

cachePathChanged()

属性 cachePathᅟ 的通知信号。

clearHttpCache()

删除配置文件的缓存条目。

注意

确保在清除操作进行时不要开始新的导航或任何操作。clearHttpCacheCompleted()信号会通知操作完成。

另请参阅

clearHttpCache() clearHttpCacheCompleted()

clearHttpCacheCompleted()

clearHttpCache()操作完成时,会发出此信号。

另请参阅

clearHttpCache()

clientCertificateStore()
Return type:

QWebEngineClientCertificateStore

返回配置文件的客户端证书存储。

clientHints()
Return type:

QWebEngineClientHints

返回与此浏览上下文关联的客户端提示设置。

另请参阅

QWebEngineClientHints

属性 clientHintsᅟ 的获取器。

cookieStore()
Return type:

QWebEngineCookieStore

返回此配置文件的cookie存储。

static defaultProfile()
Return type:

QQuickWebEngineProfile

返回默认配置文件。

默认配置文件是离线的。

另请参阅

storageName()

downloadPath()
Return type:

字符串

另请参阅

setDownloadPath()

属性 downloadPathᅟ 的获取器。

downloadPathChanged()

属性 downloadPathᅟ 的通知信号。

httpAcceptLanguage()
Return type:

字符串

属性 httpAcceptLanguageᅟ 的获取器。

httpAcceptLanguageChanged()

属性 httpAcceptLanguageᅟ 的通知信号。

httpCacheMaximumSize()
Return type:

整数

属性 httpCacheMaximumSizeᅟ 的获取器。

httpCacheMaximumSizeChanged()

属性 httpCacheMaximumSizeᅟ 的通知信号。

httpCacheType()
Return type:

HttpCacheType

另请参阅

setHttpCacheType()

属性 httpCacheTypeᅟ 的获取器。

httpCacheTypeChanged()

属性 httpCacheTypeᅟ 的通知信号。

httpUserAgent()
Return type:

字符串

另请参阅

setHttpUserAgent()

属性 httpUserAgentᅟ 的获取器。

httpUserAgentChanged()

属性 httpUserAgentᅟ 的通知信号。

installUrlSchemeHandler(scheme, handler)
Parameters:

在配置文件中为自定义URL方案scheme注册一个处理程序handler

在应用程序启动时,首先需要使用registerScheme注册方案。

isOffTheRecord()
Return type:

布尔

属性 offTheRecordᅟ 的获取器。

isPushServiceEnabled()
Return type:

布尔

属性 isPushServiceEnabledᅟ 的获取器。

isSpellCheckEnabled()
Return type:

布尔

属性 spellCheckEnabledᅟ 的获取器。

listAllPermissions()
Return type:

QWebEnginePermission的列表

返回一个QWebEnginePermission对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含此配置文件中所有先前授予/拒绝的权限,前提是它们是持久类型的。

注意

当persistentPermissionPolicy()设置为AskEveryTime时,这将返回一个空列表。

listPermissionsForOrigin(securityOrigin)
Parameters:

securityOriginQUrl

Return type:

QWebEnginePermission的列表

返回一个QWebEnginePermission对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含与此配置文件的特定securityOrigin关联的所有先前授予/拒绝的权限,前提是它们是持久类型的。

注意

由于权限是基于每个源授予的,提供的securityOrigin将被剥离为其源形式,返回的列表将包含该源的所有权限。因此,传递https://www.example.com/some/page.html与仅传递https://www.example.com/是相同的。

listPermissionsForPermissionType(permissionType)
Parameters:

permissionTypePermissionType

Return type:

QWebEnginePermission的列表

返回一个QWebEnginePermission对象的QList,每个对象代表权限存储中当前存在的单个权限。返回的列表包含提供的permissionType的所有先前授予/拒绝的权限。如果permissionType是非持久的,列表将为空。

注意

当persistentPermissionPolicy()设置为AskEveryTime时,这将返回一个空列表。

offTheRecordChanged()

属性 offTheRecordᅟ 的通知信号。

persistentCookiesPolicy()
Return type:

PersistentCookiesPolicy

属性 persistentCookiesPolicyᅟ 的获取器。

persistentCookiesPolicyChanged()

属性 persistentCookiesPolicyᅟ 的通知信号。

persistentPermissionsPolicy()
Return type:

PersistentPermissionsPolicy

属性 persistentPermissionsPolicyᅟ 的获取器。

persistentPermissionsPolicyChanged()

属性 persistentPermissionsPolicyᅟ 的通知信号。

persistentStoragePath()
Return type:

字符串

属性 persistentStoragePathᅟ 的获取器。

persistentStoragePathChanged()

属性 persistentStoragePathᅟ 的通知信号。

presentNotification(notification)
Parameters:

通知QWebEngineNotification

每当有新创建的用户通知时,就会发出此信号。notification参数保存了QWebEngineNotification实例,用于查询数据和进行交互。

另请参阅

presentNotification

pushServiceEnabledChanged()

属性 isPushServiceEnabledᅟ 的通知信号。

queryPermission(securityOrigin, permissionType)
Parameters:
Return type:

QWebEnginePermission

返回一个与提供的securityOriginpermissionType对应的单个权限的QWebEnginePermission对象。该对象可用于查询权限的当前状态,或更改它。权限不需要已经存在;如果已知某个网站会使用该权限,返回的对象也可用于预先授予权限。

注意

这可能仅用于持久权限类型。使用非持久的permissionType调用它将返回一个无效的对象。

removeAllUrlSchemeHandlers()

移除配置文件中安装的所有自定义URL方案处理程序。

removeUrlScheme(scheme)
Parameters:

方案QByteArray

从配置文件中移除自定义URL方案 scheme

removeUrlSchemeHandler(handler)
Parameters:

handlerQWebEngineUrlSchemeHandler

从配置文件中移除自定义URL方案处理程序 handler

另请参阅

removeUrlScheme()

setCachePath(path)
Parameters:

路径 – 字符串

另请参阅

cachePath()

属性 cachePathᅟ 的设置器。

setDownloadPath(path)
Parameters:

路径 – 字符串

另请参阅

downloadPath()

属性 downloadPathᅟ 的设置器。

setHttpAcceptLanguage(httpAcceptLanguage)
Parameters:

httpAcceptLanguage – str

另请参阅

httpAcceptLanguage()

属性 httpAcceptLanguageᅟ 的设置器。

setHttpCacheMaximumSize(maxSize)
Parameters:

maxSize – int

另请参阅

httpCacheMaximumSize()

属性 httpCacheMaximumSizeᅟ 的设置器。

setHttpCacheType(arg__1)
Parameters:

arg__1HttpCacheType

另请参阅

httpCacheType()

属性 httpCacheTypeᅟ 的设置器。

setHttpUserAgent(userAgent)
Parameters:

userAgent – str

另请参阅

httpUserAgent()

属性 httpUserAgentᅟ 的设置器。

setOffTheRecord(offTheRecord)
Parameters:

offTheRecord – 布尔值

另请参阅

isOffTheRecord()

属性 offTheRecordᅟ 的设置器。

setPersistentCookiesPolicy(arg__1)
Parameters:

arg__1PersistentCookiesPolicy

属性 persistentCookiesPolicyᅟ 的设置器。

setPersistentPermissionsPolicy(arg__1)
Parameters:

arg__1PersistentPermissionsPolicy

属性 persistentPermissionsPolicyᅟ 的设置器。

setPersistentStoragePath(path)
Parameters:

路径 – 字符串

属性 persistentStoragePathᅟ 的设置器。

setPushServiceEnabled(enable)
Parameters:

enable – 布尔值

另请参阅

isPushServiceEnabled()

属性 isPushServiceEnabledᅟ 的设置器。

setSpellCheckEnabled(enabled)
Parameters:

enabled – 布尔值

另请参阅

isSpellCheckEnabled()

属性 spellCheckEnabledᅟ 的设置器。

setSpellCheckLanguages(languages)
Parameters:

语言 – 字符串列表

另请参阅

spellCheckLanguages()

属性 spellCheckLanguagesᅟ 的设置器。

setStorageName(name)
Parameters:

name – str

另请参阅

storageName()

属性 storageNameᅟ 的设置器。

setUrlRequestInterceptor(interceptor)
Parameters:

拦截器QWebEngineUrlRequestInterceptor

注册一个请求拦截器单例 interceptor 以拦截URL请求。

配置文件不拥有指针的所有权。

spellCheckEnabledChanged()

属性 spellCheckEnabledᅟ 的通知信号。

spellCheckLanguages()
Return type:

字符串列表

返回拼写检查器使用的语言列表。

属性 spellCheckLanguagesᅟ 的获取器。

spellCheckLanguagesChanged()

属性 spellCheckLanguagesᅟ 的通知信号。

storageName()
Return type:

字符串

另请参阅

setStorageName()

属性 storageNameᅟ 的获取器。

storageNameChanged()

属性 storageNameᅟ 的通知信号。

urlSchemeHandler(scheme)
Parameters:

方案QByteArray

Return type:

QWebEngineUrlSchemeHandler

返回为URL方案scheme注册的自定义URL方案处理程序。