PySide6.QtNetwork.QNetworkInformation¶
- 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
是一个单例,从第一次成功调用 load() 开始,直到 QCoreApplication 对象被销毁为止。如果你销毁并重新创建 QCoreApplication 对象,你必须再次调用 load()。另请参阅
- class Reachability¶
常量
描述
QNetworkInformation.Reachability.Unknown
如果返回此值,则可能已连接,但操作系统尚未确认完全连接,或者不支持此功能。
QNetworkInformation.Reachability.Disconnected
表示系统可能完全没有连接。
QNetworkInformation.Reachability.Local
表示系统已连接到网络,但可能只能访问本地网络上的设备。
QNetworkInformation.Reachability.Site
表示系统已连接到网络,但可能只能访问本地子网或内网上的设备。
QNetworkInformation.Reachability.Online
表示系统已连接到网络并能够访问互联网。
另请参阅
- class TransportMedium¶
列出当前可以连接到互联网的已识别媒体。
常量
描述
QNetworkInformation.TransportMedium.Unknown
如果操作系统报告没有活动介质,活动介质未被Qt识别,或者不支持TransportMedium功能,则返回此值。
QNetworkInformation.TransportMedium.Ethernet
表示当前活动的连接正在使用以太网。注意:当Windows连接到蓝牙个人区域网络时,也可能返回此值。
QNetworkInformation.TransportMedium.Cellular
表示当前活动的连接正在使用蜂窝网络。
QNetworkInformation.TransportMedium.WiFi
表示当前活动的连接正在使用Wi-Fi。
QNetworkInformation.TransportMedium.Bluetooth
表示当前活动的连接是通过蓝牙连接的。
另请参阅
在版本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
实例的指针(如果有的话)。另请参阅
- isBehindCaptivePortal()¶
- Return type:
布尔
属性
isBehindCaptivePortalᅟ
的获取器。- isBehindCaptivePortalChanged(state)¶
- Parameters:
state – 布尔值
属性
isBehindCaptivePortalᅟ
的通知信号。- isMetered()¶
- Return type:
布尔
属性
isMeteredᅟ
的获取器。- isMeteredChanged(isMetered)¶
- Parameters:
isMetered – 布尔值
属性
isMeteredᅟ
的通知信号。请使用
loadBackendByFeatures()
代替。- static load(backend)
- Parameters:
backend – str
- Return type:
布尔
注意
此函数已弃用。
请使用
loadBackendByName()
代替。加载一个支持
features
的后端。如果成功加载了请求的后端或如果它已经被加载,则返回
true
。否则返回false
。另请参阅
- static loadBackendByName(backend)¶
- Parameters:
backend – str
- Return type:
布尔
尝试加载名称与
backend
匹配的后端(不区分大小写)。如果成功加载了请求的后端或如果它已经被加载,则返回
true
。否则返回false
。另请参阅
- static loadDefaultBackend()¶
- Return type:
布尔
尝试加载平台默认的后端。
注意
从6.7版本开始,如果平台默认的后端不可用或加载失败,此功能会尝试加载任何支持
Reachability
的后端。如果这也失败,它将回退到一个仅返回所有属性默认值的后端。平台到插件的映射如下:
平台
插件名称
Windows
networklistmanager
苹果 (macOS/iOS)
scnetworkreachability
安卓
android
Linux
网络管理器
此函数是为了方便而提供的,前提是之前的逻辑已经足够好。如果您需要特定的插件,那么您应该直接调用
loadBackendByName()
或loadBackendByFeatures()
。确定一个合适的后端来加载,如果这个后端已经加载或成功加载,则返回
true
。如果任何其他后端已经加载,或者所选后端加载失败,则返回false
。另请参阅
属性
reachabilityᅟ
的获取器。- reachabilityChanged(newReachability)¶
- Parameters:
newReachability –
Reachability
属性
reachabilityᅟ
的通知信号。返回当前后端支持的所有功能。
如果当前加载的后端支持
features
,则返回true
。- transportMedium()¶
- Return type:
属性
transportMediumᅟ
的获取器。- transportMediumChanged(current)¶
- Parameters:
当前 –
TransportMedium
属性
transportMediumᅟ
的通知信号。