PySide6.QtNetwork.QNetworkInformation

class QNetworkInformation

QNetworkInformation 通过本地后端暴露各种网络信息。更多

PySide6.QtNetwork.QNetworkInformation 的继承图

概要

属性

方法

信号

静态函数

注意

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

详细描述

QNetworkInformation 提供了一个跨平台的接口,通过插件获取与网络相关的信息。

各种插件可以支持各种功能,因此您可以根据需要的功能加载()插件。

QNetworkInformation 是一个单例,从第一次成功调用 load() 开始,直到 QCoreApplication 对象被销毁为止。如果你销毁并重新创建 QCoreApplication 对象,你必须再次调用 load()。

另请参阅

功能

class Reachability

常量

描述

QNetworkInformation.Reachability.Unknown

如果返回此值,则可能已连接,但操作系统尚未确认完全连接,或者不支持此功能。

QNetworkInformation.Reachability.Disconnected

表示系统可能完全没有连接。

QNetworkInformation.Reachability.Local

表示系统已连接到网络,但可能只能访问本地网络上的设备。

QNetworkInformation.Reachability.Site

表示系统已连接到网络,但可能只能访问本地子网或内网上的设备。

QNetworkInformation.Reachability.Online

表示系统已连接到网络并能够访问互联网。

另请参阅

reachability

class TransportMedium

列出当前可以连接到互联网的已识别媒体。

常量

描述

QNetworkInformation.TransportMedium.Unknown

如果操作系统报告没有活动介质,活动介质未被Qt识别,或者不支持TransportMedium功能,则返回此值。

QNetworkInformation.TransportMedium.Ethernet

表示当前活动的连接正在使用以太网。注意:当Windows连接到蓝牙个人区域网络时,也可能返回此值。

QNetworkInformation.TransportMedium.Cellular

表示当前活动的连接正在使用蜂窝网络。

QNetworkInformation.TransportMedium.WiFi

表示当前活动的连接正在使用Wi-Fi。

QNetworkInformation.TransportMedium.Bluetooth

表示当前活动的连接是通过蓝牙连接的。

另请参阅

transportMedium

在版本6.3中添加。

class Feature

(继承自 enum.Flag) 列出插件当前可能支持的所有功能。这可以在 QNetworkInformation::load() 中使用。

常量

描述

QNetworkInformation.Feature.Reachability

如果插件支持此功能,则reachability属性将提供有用的结果。否则,它将始终返回Reachability::Unknown。另请参阅Reachability

QNetworkInformation.Feature.CaptivePortal

如果插件支持此功能,则isBehindCaptivePortal属性将提供有用的结果。否则它将始终返回false

QNetworkInformation.Feature.TransportMedium

如果插件支持此功能,则transportMedium属性将提供有用的结果。否则,它将始终返回TransportMedium::Unknown。另请参阅TransportMedium

QNetworkInformation.Feature.Metered

如果插件支持此功能,则isMetered属性将提供有用的结果。否则,它将始终返回false

注意

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

property isBehindCaptivePortalᅟ: bool

此属性用于告知您用户的设备是否位于强制门户之后。

此属性指示用户的设备当前是否已知处于强制门户之后。此功能依赖于操作系统对强制门户的检测,并且在未报告此情况的系统上不受支持。在不支持此功能的系统上,此属性将始终返回false

Access functions:
property isMeteredᅟ: bool

此属性用于检查当前连接是否按流量计费。

此属性返回当前连接是否(已知)为计量连接。您可以使用此属性作为决定您的应用程序是否应执行某些网络请求或上传的指导因素。例如,当此属性为true时,您可能不希望上传日志或诊断信息。

Access functions:
property reachabilityᅟ: QNetworkInformation.Reachability

此属性保存系统网络连接的当前状态。

表示可以预期的连接级别。请注意,这只是基于插件/操作系统报告的内容。在某些情况下,已知这是错误的。例如,在Windows上,默认情况下,“在线”检查是通过Windows连接到微软拥有的服务器来执行的。如果由于任何原因该服务器被阻止,那么它将假定没有在线可达性。因此,在尝试建立连接之前,不应将此作为预检查。

Access functions:
property transportMediumᅟ: QNetworkInformation.TransportMedium

此属性保存应用程序当前活动的传输介质。

此属性返回应用程序当前活动的传输介质,在提供此类信息的操作系统上。

当当前传输介质发生变化时,会发出一个信号,例如,当用户离开WiFi网络范围、拔掉以太网电缆或启用飞行模式时,可能会发生这种情况。

Access functions:
static availableBackends()
Return type:

字符串列表

返回所有当前可用后端的名称列表。

backendName()
Return type:

字符串

返回当前加载的后端的名称。

static instance()
Return type:

QNetworkInformation

返回指向QNetworkInformation实例的指针(如果有的话)。

另请参阅

load()

isBehindCaptivePortal()
Return type:

布尔

属性 isBehindCaptivePortalᅟ 的获取器。

isBehindCaptivePortalChanged(state)
Parameters:

state – 布尔值

属性 isBehindCaptivePortalᅟ 的通知信号。

isMetered()
Return type:

布尔

属性 isMeteredᅟ 的获取器。

isMeteredChanged(isMetered)
Parameters:

isMetered – 布尔值

属性 isMeteredᅟ 的通知信号。

static load(features)
Parameters:

特征Feature 的组合

Return type:

布尔

注意

此函数已弃用。

请使用 loadBackendByFeatures() 代替。

static load(backend)
Parameters:

backend – str

Return type:

布尔

注意

此函数已弃用。

请使用 loadBackendByName() 代替。

static loadBackendByFeatures(features)
Parameters:

特征Feature 的组合

Return type:

布尔

加载一个支持features的后端。

如果成功加载了请求的后端或如果它已经被加载,则返回 true。否则返回 false

另请参阅

instance

static loadBackendByName(backend)
Parameters:

backend – str

Return type:

布尔

尝试加载名称与backend匹配的后端(不区分大小写)。

如果成功加载了请求的后端或如果它已经被加载,则返回true。否则返回false

另请参阅

instance

static loadDefaultBackend()
Return type:

布尔

尝试加载平台默认的后端。

注意

从6.7版本开始,如果平台默认的后端不可用或加载失败,此功能会尝试加载任何支持Reachability的后端。如果这也失败,它将回退到一个仅返回所有属性默认值的后端。

平台到插件的映射如下:

平台

插件名称

Windows

networklistmanager

苹果 (macOS/iOS)

scnetworkreachability

安卓

android

Linux

网络管理器

此函数是为了方便而提供的,前提是之前的逻辑已经足够好。如果您需要特定的插件,那么您应该直接调用loadBackendByName()loadBackendByFeatures()

确定一个合适的后端来加载,如果这个后端已经加载或成功加载,则返回true。如果任何其他后端已经加载,或者所选后端加载失败,则返回false

另请参阅

instance() load()

reachability()
Return type:

可达性

属性 reachabilityᅟ 的获取器。

reachabilityChanged(newReachability)
Parameters:

newReachabilityReachability

属性 reachabilityᅟ 的通知信号。

supportedFeatures()
Return type:

Feature的组合

返回当前后端支持的所有功能。

supports(features)
Parameters:

特征Feature 的组合

Return type:

布尔

如果当前加载的后端支持features,则返回true

transportMedium()
Return type:

TransportMedium

属性 transportMediumᅟ 的获取器。

transportMediumChanged(current)
Parameters:

当前TransportMedium

属性 transportMediumᅟ 的通知信号。