QNetworkInformation Class

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 }

プロパティ

パブリック機能

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 を返す。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.