QNetworkInformation 类
QNetworkInformation 通过原生后端公开各种网络信息。 更多...
| 头文件 | #include <QNetworkInformation> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) | 
| qmake | QT += network | 
| 自 | Qt 6.1 | 
| 继承 | QObject | 
公共类型
| enum class | Feature { Reachability, CaptivePortal, TransportMedium, Metered } | 
| flags | Features | 
| enum class | Reachability { Unknown, Disconnected, Local, Site, Online } | 
| (since 6.3)enum class | TransportMedium { Unknown, Ethernet, Cellular, WiFi, Bluetooth } | 
属性
- (since 6.2)isBehindCaptivePortal : const bool
- (since 6.3)isMetered : const bool
- reachability : const Reachability
- (since 6.3)transportMedium : const TransportMedium
公共函数
| QString | backendName() const | 
| bool | isBehindCaptivePortal() const | 
| bool | isMetered() const | 
| QNetworkInformation::Reachability | reachability() const | 
| (since 6.3)QNetworkInformation::Features | supportedFeatures() const | 
| bool | supports(QNetworkInformation::Features features) const | 
| QNetworkInformation::TransportMedium | transportMedium() const | 
信号
| void | isBehindCaptivePortalChanged(bool state) | 
| void | isMeteredChanged(bool isMetered) | 
| void | reachabilityChanged(QNetworkInformation::Reachability newReachability) | 
| void | transportMediumChanged(QNetworkInformation::TransportMedium current) | 
静态公共成员
| QStringList | availableBackends() | 
| QNetworkInformation * | instance() | 
| (自6.4起)bool | loadBackendByFeatures(QNetworkInformation::Features features) | 
| (自6.4起)bool | loadBackendByName(QStringView backend) | 
| (自6.3起)bool | loadDefaultBackend() | 
详细描述
QNetworkInformation通过插件提供了一个跨平台的网络相关信息接口。
各种插件可以支持各种功能,因此您可以根据所需的功能加载()插件。
QNetworkInformation是单例,从首次成功加载()直到QCoreApplication对象被销毁,它一直存活。如果您销毁并重新创建QCoreApplication对象,则必须再次调用load()。
另请参阅 QNetworkInformation::Feature。
成员类型文档
枚举类 QNetworkInformation::Feature
flags QNetworkInformation::Features
列出插件可能目前支持的所有功能。这可以在QNetworkInformation::load()中使用。
| 常量 | 值 | 描述 | 
|---|---|---|
| QNetworkInformation::Feature::Reachability | 0x1 | 如果插件支持此功能,则 reachability属性将提供有用的结果。否则,它将始终返回Reachability::Unknown。另请参阅QNetworkInformation::Reachability。 | 
| QNetworkInformation::Feature::CaptivePortal | 0x2 | 如果插件支持此功能,则 isBehindCaptivePortal属性将提供有用的结果。否则,它将始终返回false。 | 
| QNetworkInformation::Feature::TransportMedium | 0x4 | 如果插件支持此功能,则 transportMedium属性将提供有用的结果。否则,它将始终返回TransportMedium::Unknown。另请参阅QNetworkInformation::TransportMedium。 | 
| QNetworkInformation::Feature::Metered | 0x8 | 如果插件支持此功能,则 isMetered属性将提供有用的结果。否则,它将始终返回false。 | 
Features类型是QFlags<Feature>的typedef。它存储了Feature值的OR组合。
枚举类 QNetworkInformation::Reachability
| 常量 | 值 | 描述 | 
|---|---|---|
| QNetworkInformation::Reachability::Unknown | 0 | 如果返回此值,则我们可能已连接,但操作系统尚未确认完全连接,或此功能不受支持。 | 
| QNetworkInformation::Reachability::Disconnected | 1 | 表示系统可能没有任何连接性。 | 
| QNetworkInformation::Reachability::Local | 2 | 表示系统连接到了网络,但可能只能访问本地网络上的设备。 | 
| QNetworkInformation::Reachability::Site | 3 | 表示系统连接到了网络,但可能只能访问本地子网或企业内部网上的设备。 | 
| QNetworkInformation::Reachability::Online | 4 | 表示系统连接到了网络,并且能够访问互联网。 | 
另请参阅 QNetworkInformation::reachability。
[since 6.3] 枚举类 QNetworkInformation::TransportMedium
列出目前可以用来连接互联网的已识别媒体。
| 常量 | 值 | 描述 | 
|---|---|---|
| QNetworkInformation::TransportMedium::Unknown | 0 | 当操作系统报告没有活动介质、活动介质不被 Qt 识别,或 TransportMedium 功能不支持时,将返回。 | 
| QNetworkInformation::TransportMedium::Ethernet | 1 | 表示当前活动连接正在使用以太网。注意:当 Windows 连接到蓝牙个人局域网时,也可能返回此值。 | 
| QNetworkInformation::TransportMedium::Cellular | 2 | 表示当前活动连接正在使用蜂窝网络。 | 
| QNetworkInformation::TransportMedium::WiFi | 3 | 表示当前活动连接正在使用 Wi-Fi。 | 
| QNetworkInformation::TransportMedium::Bluetooth | 4 | 表示当前活动连接正使用蓝牙。 | 
此枚举自 Qt 6.3 引入。
属性文档
[只读,自 6.2 起生效] isBehindCaptivePortal : const bool
告诉用户设备是否处于推介门户之后。
此属性表示用户设备目前是否已知位于推介门户之后。此功能依赖于操作系统的推介门户检测,并且在报告此信息的系统上不受支持。在不受此支持的系统上,此值始终返回 false。
此属性自 Qt 6.2 引入。
访问函数
| bool | isBehindCaptivePortal() const | 
通知信号
| void | isBehindCaptivePortalChanged(bool 状态) | 
[只读,自 6.3 起生效] isMetered : const bool
检查当前连接是否计费
此属性返回当前连接是否(已知是)计费或非计费。您可以使用此属性作为指导因素,以决定应用程序是否应执行某些网络请求或上传。例如,当此属性为 true 时,您可能不想上传日志或诊断信息。
此属性自 Qt 6.3 引入。
访问函数
| bool | isMetered() const | 
通知信号
| void | isMeteredChanged(bool isMetered) | 
[只读] reachability : const Reachability
此属性保存系统网络连接的当前状态。
表示可以预期的连接级别。请注意,这仅基于插件/操作系统的报告。在特定场景中此值可能不正确。例如,在 Windows 上,默认情况下,'在线'检查是通过 Windows 连接到微软拥有的服务器来执行的。如果由于任何原因阻止了此服务器,则假设它没有在线可达性。因此,在尝试建立连接之前,您不应使用此作为预检查。
访问函数
| QNetworkInformation::Reachability | reachability() const | 
通知信号
| void | reachabilityChanged(QNetworkInformation::Reachability 新可达性) | 
[只读,自 6.3 起生效] transportMedium : const TransportMedium
此属性保存应用程序当前活动的传输介质。
此属性返回应用程序当前活动的传输介质,当操作系统中提供此类信息时。
当当前传输介质更改时,会发出一个信号,例如,当用户离开WiFi网络的范围、拔掉以太网电缆或启用飞行模式时,这种情况就会发生。
此属性自 Qt 6.3 引入。
访问函数
| QNetworkInformation::TransportMedium | transportMedium() const | 
通知信号
| void | transportMediumChanged(QNetworkInformation::TransportMedium current) | 
成员函数文档
[静态] QStringList QNetworkInformation::availableBackends()
返回所有当前可用后端的名称列表。
QString QNetworkInformation::backendName() const
返回当前加载的后端的名称。
[静态] QNetworkInformation *QNetworkInformation::instance()
如果有的话,返回对QNetworkInformation实例的指针。
另请参阅load().
[静态,从6.4开始] bool QNetworkInformation::loadBackendByFeatures(QNetworkInformation::Features features)
加载支持特定功能的后端。
如果成功加载请求的后端或它已经加载,则返回true。否则返回false。
此函数从Qt 6.4开始引入。
另请参阅instance.
[静态,从6.4开始] bool QNetworkInformation::loadBackendByName(QStringView backend)
尝试加载名为backend的后端(不区分大小写)。
如果成功加载请求的后端或它已经加载,则返回true。否则返回false。
此函数从Qt 6.4开始引入。
另请参阅instance.
[静态,从6.3开始] bool QNetworkInformation::loadDefaultBackend()
尝试加载平台默认的后端。
注意:从6.7开始,如果在平台默认后端不可用或加载失败的情况下,将尝试加载支持可达性的任何后端。如果这也失败,将回退到只返回所有属性默认值的后端。
此平台到插件的映射如下:
| 平台 | 插件名称 | 
|---|---|
| Windows | networklistmanager | 
| Apple(macOS/iOS) | scnetworkreachability | 
| Android | android | 
| Linux | networkmanager | 
此函数提供方便性,因为较早的逻辑已经足够好。如果您需要特定的插件,则应直接调用loadBackendByName()或loadBackendByFeatures().
确定要加载的后端并返回true,如果此后端已经加载或成功加载。如果已经加载了其他后端或选定后端的加载失败,则返回false。
此函数从Qt 6.3开始引入。
[自 6.3 版开始] QNetworkInformation::Features QNetworkInformation::supportedFeatures() const
返回当前后端支持的所有功能。
此函数从Qt 6.3开始引入。
bool QNetworkInformation::supports(QNetworkInformation::Features features) const
如果当前加载的后端支持 features,则返回 true。
© 2024 The Qt Company Ltd. 本文档中的贡献文档的版权归其各自所有者所有。此处提供的文档是根据自由软件基金会发布的 GNU 通用文档许可版本 1.3 的条款提供的。Qt及其相关标志是芬兰及/或世界其他地区的 The Qt Company Ltd. 的 商标。所有其他商标属于其各自所有者。