- class QNetworkInformation#
QNetworkInformation
通过本地后端公开各种网络信息。 更多...概述#
属性#
isBehindCaptivePortal
- 告知您用户的设备是否在捕获门户之后isMetered
- 检查当前连接是否为计量连接reachability
- 系统网络连接的当前状态transportMedium
- 应用程序当前活动的传输介质
方法#
def
backendName()
def
isMetered()
def
reachability()
def
supports()
信号#
静态函数#
def
instance()
def
load()
注意
本文档可能包含从C++自动翻译为Python的代码段。我们始终欢迎对代码段的翻译做出贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式来告诉我们。
详细描述#
QNetworkInformation
通过插件提供了一个跨平台的网络相关信息接口。各种插件可以支持各种功能,因此您可以根据所需的功能加载()插件。
QNetworkInformation
是单例的,在成功加载()后继续存在,直到 QCoreApplication 对象被销毁。如果您销毁并重新创建 QCoreApplication 对象,您必须再次调用 load()。另请参阅
- 类 可达性#
常量
描述
QNetworkInformation.Reachability.Unknown
如果返回此值,则可能已连接,但操作系统尚未确认完全连接,或此功能不受支持。
QNetworkInformation.Reachability.Disconnected
表示系统可能根本无法连接。
QNetworkInformation.Reachability.Local
表示系统连接到网络,但可能只能访问本地网络上的设备。
QNetworkInformation.Reachability.Site
表示系统连接到网络,但可能只能访问本地子网或内部网络的设备。
QNetworkInformation.Reachability.Online
表示系统连接到网络并且可以访问互联网。
另请参阅
- 类 TransportMedium#
列出可以通过它们连接到互联网的当前已识别的媒体。
常量
描述
QNetworkInformation.TransportMedium.Unknown
如果操作系统报告没有活动介质,活动介质不被 Qt 识别,或者TransportMedium功能不受支持,则返回。
QNetworkInformation.TransportMedium.Ethernet
表示当前活动连接正在使用以太网。注意:此值还可能在Windows连接到蓝牙个人区域网络时返回。
QNetworkInformation.TransportMedium.Cellular
表示当前活动连接正在使用蜂窝网络。
QNetworkInformation.TransportMedium.WiFi
表示当前活动连接正在使用 Wi-Fi。
QNetworkInformation.TransportMedium.Bluetooth
表示当前活动连接正在使用蓝牙。
另请参阅
自版本 6.3 以来新增。
- 类 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
。- property isMetered(): bool#
此属性用于检测当前连接是否计费。
此属性返回当前连接是否(已知为)计费。您可以使用此属性作为指导因素来判断您的应用程序是否应该执行某些网络请求或上传。例如,如果您不希望在
true
的情况下上传日志或诊断信息。- 访问函数
- property reachability(): QNetworkInformation.Reachability#
此属性表示系统网络连通状态的当前状态。
指示可以预期的连通级别。请注意,这仅基于插件/操作系统的报告。在某些情况下,这可能是错误的。例如,在Windows中,默认情况下,“在线”检查是通过Windows连接到微软拥有的服务器来进行的。如果由于任何原因阻止了该服务器,则会假设它无法访问在线。因此,您不应该在尝试建立连接之前使用此作为预检查。
- 访问函数
- 属性 transportMediumᅟ: QNetworkInformation.TransportMedium#
此属性保留应用程序当前活动的传输介质。
此属性返回操作系统提供此类信息时应用程序的当前活动传输介质。
当当前传输介质更改时,会发出信号,这可以发生在用户离开
WiFi
网络的范围、拔掉以太网电缆或启用飞行模式时。- 静态 availableBackends()#
- 返回类型:
字符串列表
返回所有当前可用后端的名称列表。
- backendName()#
- 返回类型:
str
返回当前加载的后端名称。
- 静态 instance()#
- 返回类型:
返回
QNetworkInformation
的实例指针(如有)。另请参阅
- isBehindCaptivePortal()#
- 返回类型:
bool
属性
isBehindCaptivePortalᅟ
的获取器。- isBehindCaptivePortalChanged(state)#
- 参数:
状态 – bool
isBehindCaptivePortalᅟ
属性的属性变更通知信号。- isMetered()#
- 返回类型:
bool
属性
isMetered
的获取器。- isMeteredChanged(isMetered)#
- 参数:
isMetered – bool
属性
isMetered
的通知信号。请使用
loadBackendByFeatures()
代替。- static load(backend)
- 参数:
backend – str
- 返回类型:
bool
注意
此函数已弃用。
请使用
loadBackendByName()
代替。加载支持特定
features
的后端。如果成功加载请求的后端或后端已加载,则返回
true
。否则返回false
。另请参阅
- static loadBackendByName(backend)#
- 参数:
backend – str
- 返回类型:
bool
尝试加载名称与
backend
匹配的后端(不区分大小写)。如果成功加载请求的后端或后端已加载,则返回
true
。否则返回false
。另请参阅
- static loadDefaultBackend()#
- 返回类型:
bool
尝试加载平台默认后端。
注意
从6.7版本开始,尝试加载任何支持
可达性
的后端,如果平台默认的后端不可用或无法加载。如果这也失败,它将回退到仅返回所有属性默认值的后端。此平台到插件的映射如下
平台
插件名称
Windows
networklistmanager
苹果(macOS/iOS)
scnetworkreachability
Android
android
Linux
networkmanager
此功能提供便利,因为早期的逻辑已经足够好。如果您需要特定的插件,则应直接调用
loadBackendByName()
或loadBackendByFeatures()
。确定要加载的合适后端,并返回
true
,如果此后端已加载或成功加载。如果已加载其他后端或所选后端加载失败,则返回false
。另请参阅
reachabilityᅟ
的获取器。- reachabilityChanged(newReachability)#
- 参数:
newReachability –
Reachability
reachabilityᅟ
属性的属性更改通知信号。返回当前后端支持的所有功能。
如果当前加载的后端支持
features
,则返回true
。transportMediumᅟ
的获取器。- transportMediumChanged(current)#
- 参数:
current –
TransportMedium
属性
transportMedium
的通知信号。