QNetworkInformation Class

QNetworkInformationは、ネイティブ・バックエンドを通じて様々なネットワーク情報を公開します。詳細...

Header: #include <QNetworkInformation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
Since: Qt 6.1
Inherits: 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 }

プロパティ

パブリック関数

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()
(since 6.4) bool loadBackendByFeatures(QNetworkInformation::Features features)
(since 6.4) bool loadBackendByName(QStringView backend)
(since 6.3) bool loadDefaultBackend()

詳細説明

QNetworkInformation は、プラグインを通じてネットワーク関連情報へのクロスプラットフォーム・インターフェースを提供します。

さまざまなプラグインがさまざまな機能をサポートしているため、必要な機能に基づいてプラグインをロード()することができます。

QNetworkInformation はシングルトンであり、最初に load() に成功してからQCoreApplication オブジェクトが破棄されるまで生き続けます。QCoreApplication オブジェクトを破棄して再作成する場合は、再度 load() を呼び出す必要があります。

QNetworkInformation::Featureも参照してください

メンバ・タイプのドキュメント

enum class QNetworkInformation::Feature
flags QNetworkInformation::Features

プラグインが現在サポートしているすべての機能をリストします。これは、QNetworkInformation::load() で使用できます。

定数説明
QNetworkInformation::Feature::Reachability0x1プラグインがこの機能をサポートしている場合、reachability プロパティは有用な結果を提供します。そうでない場合は、常にReachability::Unknown を返します。QNetworkInformation::Reachability も参照してください。
QNetworkInformation::Feature::CaptivePortal0x2プラグインがこの機能をサポートしている場合、isBehindCaptivePortal プロパティは有用な結果を提供します。そうでない場合は常にfalse を返します。
QNetworkInformation::Feature::TransportMedium0x4プラグインがこの機能をサポートしている場合、transportMedium プロパティは有用な結果を提供します。そうでない場合は、常にTransportMedium::Unknown を返します。QNetworkInformation::TransportMedium も参照してください。
QNetworkInformation::Feature::Metered0x8プラグインがこの機能をサポートしている場合、isMetered プロパティは有用な結果を提供します。そうでない場合は、常にfalse を返します。

Features型はQFlags<Feature>のtypedefです。これは、Feature 値の OR の組み合わせを格納します。

enum class QNetworkInformation::Reachability

定数説明
QNetworkInformation::Reachability::Unknown0この値が返された場合、接続されている可能性がありますが、OSはまだ完全な接続を確認していないか、この機能がサポートされていません。
QNetworkInformation::Reachability::Disconnected1システムが全く接続されていない可能性があることを示す。
QNetworkInformation::Reachability::Local2システムはネットワークに接続されているが、ローカル・ネットワーク上のデバイスにしかアクセスできない可能性があることを示す。
QNetworkInformation::Reachability::Site3システムがネットワークに接続されているが、ローカルサブネットまたはイントラネット上のデバイスにしかアクセスできない可能性があることを示す。
QNetworkInformation::Reachability::Online4システムがネットワークに接続され、インターネットにアクセスできることを示す。

QNetworkInformation::reachabilityも参照

[since 6.3] enum class QNetworkInformation::TransportMedium

現在認識されている、インターネットに接続できるメディアを一覧表示します。

定数説明
QNetworkInformation::TransportMedium::Unknown0OS がアクティブなメディアはないと報告しているか、アクティブなメディアが Qt によって認識されていないか、TransportMedium 機能がサポートされていない場合に返されます。
QNetworkInformation::TransportMedium::Ethernet1現在アクティブな接続がイーサネットを使用していることを示します。注:この値は、Windows が Bluetooth パーソナル・エリア・ネットワークに接続されている場合にも返されることがあります。
QNetworkInformation::TransportMedium::Cellular2現在アクティブな接続がセルラーネットワークを使用していることを示す。
QNetworkInformation::TransportMedium::WiFi3現在アクティブな接続が Wi-Fi を使用していることを示します。
QNetworkInformation::TransportMedium::Bluetooth4現在アクティブな接続が Bluetooth を使用して接続されていることを示します。

この列挙型は Qt 6.3 で導入されました。

QNetworkInformation::transportMediumも参照して ください。

プロパティ ドキュメント

[read-only, since 6.2] isBehindCaptivePortal : const bool

ユーザーのデバイスがキャプティブポータルの背後にあるかどうかを知らせます。

このプロパティは、ユーザーのデバイスが現在キャプティブポータルの背後にあるかどうかを示します。この機能は、オペレーティングシステムによるキャプティブポータルの検出に依存しており、これを報告しないシステムではサポートされていません。これがサポートされていないシステムでは、これは常にfalse を返します。

このプロパティは Qt 6.2 で導入されました。

アクセス関数です:

bool isBehindCaptivePortal() const

Notifier シグナル:

void isBehindCaptivePortalChanged(bool state)

[read-only, since 6.3] isMetered : const bool

現在の接続が従量制かどうかをチェックする

このプロパティは、現在の接続がメータリングされているかどうかを返します。アプリケーションで特定のネットワーク要求やアップロードを実行するかどうかを決める際の指針として使用できます。例えば、このプロパティがtrue である間は、ログや診断をアップロードしたくない場合があります。

このプロパティは Qt 6.3 で導入されました。

アクセス関数

bool isMetered() const

Notifier シグナル:

void isMeteredChanged(bool isMetered)

[read-only] reachability : const Reachability

このプロパティは、システムのネットワーク接続の現在の状態を保持します。

予想される接続性のレベルを示します。これは、プラグイン/オペレーティング・システムが報告する内容のみに基づいていることに注意してください。特定のシナリオでは、これが間違っていることが知られています。たとえば、Windowsの「オンライン」チェックは、デフォルトではWindowsがマイクロソフト所有のサーバーに接続することで実行されます。このサーバーが何らかの理由でブロックされている場合、オンラインに到達できないものと見なされます。このため、接続を試みる前の事前チェックとしては使用しないでください。

アクセス機能

QNetworkInformation::Reachability reachability() const

通知シグナル:

void reachabilityChanged(QNetworkInformation::Reachability newReachability)

[read-only, since 6.3] transportMedium : const TransportMedium

このプロパティは、アプリケーションの現在アクティブなトランスポート媒体を保持する。

このプロパティは、そのような情報が利用可能なオペレーティングシステム上で、アプリケーショ ンの現在アクティブなトランスポートメディアを返す。

例えば、ユーザがWiFi ネットワークの範囲から離れたり、イーサネットケーブルを抜いたり、機内モードを有効にしたりした場合に発生します。

このプロパティは Qt 6.3 で導入されました。

アクセス関数です:

QNetworkInformation::TransportMedium transportMedium() const

Notifier シグナル:

void transportMediumChanged(QNetworkInformation::TransportMedium current)

メンバ関数ドキュメント

[static] QStringList QNetworkInformation::availableBackends()

現在利用可能なすべてのバックエンドの名前のリストを返します。

QString QNetworkInformation::backendName() const

現在ロードされているバックエンドの名前を返します。

[static] QNetworkInformation *QNetworkInformation::instance()

もしあれば、QNetworkInformation のインスタンスへのポインタを返します。

load()も参照

[static, since 6.4] bool QNetworkInformation::loadBackendByFeatures(QNetworkInformation::Features features)

features をサポートしているバックエンドを読み込みます。

要求されたバックエンドをロードできた場合、あるいはすでにロードされている場合はtrue を返します。そうでない場合はfalse を返します。

この関数は Qt 6.4 で導入されました。

instanceも参照してください

[static, since 6.4] bool QNetworkInformation::loadBackendByName(QStringView backend)

名前がbackend にマッチするバックエンドのロードを試みます (大文字小文字は区別しません)。

要求されたバックエンドをロードできた場合、あるいはすでにロードされていた場合はtrue を返します。そうでない場合はfalse を返します。

この関数は Qt 6.4 で導入されました。

instanceも参照してください

[static, since 6.3] bool QNetworkInformation::loadDefaultBackend()

プラットフォームデフォルトのバックエンドのロードを試みます。

注意: 6.7 以降では、プラットフォームデフォルトのバックエンドが利用できないか、ロードに失敗した場合、Reachability をサポートしているバックエンドのロードを試みます。これも失敗すると、すべてのプロパティのデフォルト値のみを返すバックエンドにフォールバックします。

こ のプ ラ ッ ト フ ォーム と プ ラ グ イ ンの対応は以下の と お り です:

プラットフォームプラグイン名
Windowsネットワークリストマネージャー
アップル (macOS/iOS)ネットワーク到達性
アンドロイドアンドロイド
リナックスネットワークマネージャー

この関数は、先のロジックで十分な場合に便宜上提供される。特定のプラグインが必要な場合は、代わりにloadBackendByName() またはloadBackendByFeatures() を直接呼び出す必要があります。

ロードする適切なバックエンドを決定し、このバックエンドがすでにロードされている場合、あるいはロードに成功した場合はtrue を返します。他のバックエンドが既にロードされている場合や、選択したバックエンドのロードに失敗した場合はfalse を返します。

この関数は Qt 6.3 で導入されました。

instance() およびload()も参照してください

[since 6.3] QNetworkInformation::Features QNetworkInformation::supportedFeatures() const

現在のバックエンドでサポートされているすべての機能を返します。

この関数は Qt 6.3 で導入されました。

bool QNetworkInformation::supports(QNetworkInformation::Features features) const

現在ロードされているバックエンドがfeatures をサポートしている場合はtrue を返します。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。