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 } |
プロパティ
(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() |
(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::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の組み合わせを格納します。
enum class QNetworkInformation::Reachability
定数 | 値 | 説明 |
---|---|---|
QNetworkInformation::Reachability::Unknown | 0 | この値が返された場合、接続はされているがOSがまだ完全な接続を確認していないか、この機能がサポートされていない可能性がある。 |
QNetworkInformation::Reachability::Disconnected | 1 | システムが全く接続されていない可能性があることを示す。 |
QNetworkInformation::Reachability::Local | 2 | システムはネットワークに接続されているが、ローカル・ネットワーク上のデバイスにしかアクセスできない可能性があることを示す。 |
QNetworkInformation::Reachability::Site | 3 | システムがネットワークに接続されているが、ローカルサブネットまたはイントラネット上のデバイスにしかアクセスできない可能性があることを示す。 |
QNetworkInformation::Reachability::Online | 4 | システムがネットワークに接続され、インターネットにアクセスできることを示す。 |
QNetworkInformation::reachabilityも参照のこと 。
[since 6.3]
enum class QNetworkInformation::TransportMedium
現在インターネットに接続できるメディアをリストアップ。
定数 | 値 | 説明 |
---|---|---|
QNetworkInformation::TransportMedium::Unknown | 0 | OS がアクティブなメディアはないと報告しているか、アクティブなメディアが Qt によって認識されていないか、TransportMedium 機能がサポートされていない場合に返されます。 |
QNetworkInformation::TransportMedium::Ethernet | 1 | 現在アクティブな接続がイーサネットを使用していることを示します。注:この値は、Windows が Bluetooth パーソナル・エリア・ネットワークに接続されている場合にも返されることがあります。 |
QNetworkInformation::TransportMedium::Cellular | 2 | 現在アクティブな接続がセルラーネットワークを使用していることを示す。 |
QNetworkInformation::TransportMedium::WiFi | 3 | 現在アクティブな接続が Wi-Fi を使用していることを示します。 |
QNetworkInformation::TransportMedium::Bluetooth | 4 | 現在アクティブな接続が 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.