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