QSysInfo Class
QSysInfoクラスは、システムに関する情報を提供します。詳細...
ヘッダー | #include <QSysInfo> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
パブリックタイプ
静的パブリックメンバー
QByteArray | bootUniqueId() |
QString | buildAbi() |
QString | buildCpuArchitecture() |
QString | currentCpuArchitecture() |
QString | kernelType() |
QString | kernelVersion() |
QString | machineHostName() |
QByteArray | machineUniqueId() |
QString | prettyProductName() |
QString | productType() |
QString | productVersion() |
詳細説明
一部の定数は、特定のプラットフォームでのみ定義されています。プリプロセッサ・シンボルQ_OS_WIN およびQ_OS_MACOS を使用すると、アプリケーションが Windows または macOS でコンパイルされていることをテストできます。
QLibraryInfoも参照してください 。
メンバ型ドキュメント
enum QSysInfo::Endian
定数 | 値 | 説明 |
---|---|---|
QSysInfo::BigEndian | 0 | ビッグエンディアンバイトオーダー(ネットワークバイトオーダーとも呼ばれる) |
QSysInfo::LittleEndian | 1 | リトルエンディアンバイトオーダー |
QSysInfo::ByteOrder | BigEndian or LittleEndian | プラットフォームのバイトオーダーに応じて、ビッグエンディアンまたはリトルエンディアンに等しい。 |
enum QSysInfo::Sizes
この列挙型は、基礎となるアーキテクチャで使用されるデータ構造のサイズに関するプラットフォーム固有の情報を提供する。
定数 | 値 | 説明 |
---|---|---|
QSysInfo::WordSize | (sizeof(void *)<<3) | アプリケーションがコンパイルされているプラットフォームのポインタのビットサイズ(32または64)。 |
メンバ関数ドキュメント
[static]
QByteArray QSysInfo::bootUniqueId()
このマシンのブートの一意な ID を返します。一意なIDを決定できなかった場合、この関数は空のバイト配列を返します。この値はブートするたびに変更され、グローバルに一意であるとみなされます。
この関数は、現在のところLinuxとAppleオペレーティングシステムにのみ実装されている。
machineUniqueId()も参照のこと 。
[static]
QString QSysInfo::buildAbi()
Qt がコンパイルされたアーキテクチャの完全な文字列を返します。この文字列は、互換性のない異なるビルドを識別するのに便利です。例えば、サーバーにアップグレードパッケージを要求する際の識別子として使用できます。
この関数から返される値は、以下のように安定した状態に保たれます: 結果の必須コンポーネントは、Qt の将来のバージョンでも変更されませんが、オプションの接尾辞が追加される可能性があります。
返される値は、ダッシュ ("-") で区切られた 3 つ以上の部分で構成されます。それらは
コンポーネント | 値 |
---|---|
CPUアーキテクチャ | QSysInfo::buildCpuArchitecture ()と同じ。"arm"、"i386"、"mips"、"x86_64 "など。 |
エンディアン | "little_endian" または "big_endian" |
単語サイズ | 32ビットアプリケーションか64ビットアプリケーションか。可能な値は以下の通り:「llp64"(Windowsの64ビット)、"lp64"(Unixの64ビット)、"ilp32"(32ビット)。 |
(オプション)ABI | このアーキテクチャで可能な異なる ABI を識別する 0 個以上のコンポーネント。現在のところ、Qt には ARM と MIPS プロセッサ用のオプションの ABI コンポーネントがあります: 1 つのコンポーネントはメインの ABI("eabi"、"o32"、"n32"、"o64 "など)です。 さらに、Qt が |
QSysInfo::buildCpuArchitecture()も参照のこと 。
[static]
QString QSysInfo::buildCpuArchitecture()
Qt がコンパイルされた CPU のアーキテクチャをテキスト形式で返します。エミュレーション層がある場合や、CPU が複数のアーキテクチャをサポートしている場合(x86-64 プロセッサが i386 アプリケーションをサポートしているような場合)には、アプリケーションを実行している実際の CPU と一致しない可能性があることに注意してください。これを検出するには、currentCpuArchitecture ()を使用します。
この関数が返す値は安定しており、時間の経過とともに変化することはありません。そのため、アプリケーションは、新しいCPUタイプが時間の経過とともに追加される可能性があることを除けば、返される値を識別子として信頼することができます。
典型的な戻り値は以下のとおりである(注:リストは完全なものではない):
- "arm"
- "arm64"
- "i386"
- "ia64"
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
QSysInfo::buildAbi() およびQSysInfo::currentCpuArchitecture()も参照のこと 。
[static]
QString QSysInfo::currentCpuArchitecture()
アプリケーションが動作しているCPUのアーキテクチャをテキスト形式で返します。この関数はOSが何を報告するかに依存し、OSがその情報を隠したり提供できない場合は、実際のCPUアーキテクチャを検出できない可能性があることに注意してください。例えば、64ビットCPU上で動作する32ビットOSは、通常、CPUが実際に64ビットプログラムを実行可能かどうかを判断することができません。
この関数によって返される値は、ほとんどの場合安定したものである。しかし、使用されるオペレーティングシステム関数の性質上、矛盾が生じる可能性があります。
典型的な返される値は以下の通りである(注:リストは完全なものではない):
- "arm"
- "arm64"
- "i386"
- "ia64"
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
QSysInfo::buildAbi() およびQSysInfo::buildCpuArchitecture()も参照のこと 。
[static]
QString QSysInfo::kernelType()
Qt がコンパイルされたオペレーティングシステムのカーネルのタイプを返します。ホストオペレーティングシステムが互換性や仮想化レイヤーを実行していない限り、これはアプリケーションが実行されているカーネルでもあります。
この関数が返す値は安定しており、時間の経過とともに変化することはありません。そのため、アプリケーションは、新しいOSカーネルタイプが時間の経過とともに追加される可能性があることを除いて、返される値を識別子として信頼することができます。
Windowsでは、この関数は "winnt "のようなWindowsカーネルのタイプを返す。Unixシステムでは、uname -s
(小文字)の出力と同じものを返す。
注意: この関数は意外な値を返すことがある: Linux (Androidを含む)を実行しているすべてのオペレーティングシステムに対して "linux"、QNXを実行しているすべてのオペレーティングシステムに対して "qnx"、Debian/kFreeBSDに対して "freebsd"、macOSとiOSに対して "darwin "を返す。アプリケーションが動作している製品のタイプについては、productType()を参照。
QFileSelector 、kernelVersion()、productType()、productVersion()、prettyProductName()も参照のこと 。
[static]
QString QSysInfo::kernelVersion()
オペレーティング・システム・カーネルのリリース・バージョンを返します。Windowsでは、NTカーネルのバージョンを返す。AndroidおよびmacOSを含むUnixシステムでは、uname -r
コマンドが返すものと同じものを返します。VxWorksでは、kernelVersion()によって報告された文字列の数値部分を返します。
バージョンを特定できなかった場合、この関数は空の文字列を返すことがある。
kernelType()、productType()、productVersion()、prettyProductName()も参照のこと 。
[static]
QString QSysInfo::machineHostName()
ホスト名が設定されている場合、このマシンのホスト名を返す。ホスト名がグローバルに一意であることは保証されないことに注意。
この関数は、返されるホスト名が完全修飾ドメイン名(FQDN)であることを保証しない。その場合は、QHostInfo を使用して、返された名前を FQDN に解決してください。
この関数は、QHostInfo::localHostName ()と同じものを返す。
QHostInfo::localDomainName およびmachineUniqueId()も参照 。
[static]
QByteArray QSysInfo::machineUniqueId()
このマシンの一意なIDが決定できれば、それを返す。一意なIDが見つからない場合、この関数は空のバイト配列を返す。machineHostName() とは異なり、この関数が返す値はグローバルに一意である可能性が高い。
一意のIDは、IPアドレスが変更される可能性がある場合や、このマシンが複数のIPアドレスを持つ可能性がある場合に、このマシンを長期間識別するためのネットワーク操作に有用である。例えば、サーバーと通信するときや、共有ネットワーク・ストレージにデバイ ス固有のデータを保存するときに、IDを使用することができる。
システムによっては、リブートしてもこの値が持続するものと、そうでないものがあることに注意。アプリケーションは、OSの機能を検証することなく、この事実に盲目的に依存すべきではない。特にLinuxシステムでは、独自のストレージを持たないノード(レプリケート・ノード)を除き、このIDは通常永続的であり、D-BusマシンIDと一致する。
machineHostName() およびbootUniqueId()も参照の こと。
[static]
QString QSysInfo::prettyProductName()
productType() とproductVersion() の、よりきれいな形式を返します。オペレーティング・システムの種類やコードネーム、その他の情報が含まれます。この関数の結果は、ユーザーに表示するのに適していますが、Qt のアップデートによって文字列が変更される可能性があるため、長期保存には適していません。
productType() が "unknown" の場合、この関数はkernelType() とkernelVersion() 関数を使用します。
kernelType(),kernelVersion(),productType(),productVersion()も参照してください 。
[static]
QString QSysInfo::productType()
このアプリケーションが動作しているオペレーティング・システムの製品名を返します。アプリケーションが何らかのエミュレーションや仮想化レイヤー(UnixシステムのWINEなど)上で動作している場合、この関数はエミュレーション/仮想化レイヤーを検査します。
この関数が返す値は安定しており、時間の経過とともに変化することはありません。そのため、アプリケーションは、時間の経過とともに新しいOSタイプが追加される可能性があることを除いて、返される値を識別子として信頼することができます。
LinuxとAndroidに関する注意:この関数は、Androidユーザー空間を実行しているLinuxシステム(特にBionicライブラリを使用している場合)に対して "android "を返します。他のすべてのLinuxシステムでは、使用されているCライブラリに関係なく、ディストリビューション名の決定を試み、それを返します。ディストリビューション名の決定に失敗した場合は、"unknown "を返します。
macOS 注意: この関数は、Apple の命名規則に関係なく、すべての macOS システムに対して "macos" を返します。以前の Qt 5 では、Apple の命名規則に関係なく "osx" を返していました。
Darwin、iOS、tvOS、watchOS note: この関数は、iOS システムに対しては "ios"、tvOS システムに対しては "tvos"、watchOS システムに対しては "watchos"、システムが判別できなかった場合には "darwin" を返します。
FreeBSD note: この関数は Debian/kFreeBSD の場合は "debian" を返し、それ以外の場合は "unknown" を返します。
Windows 注:この関数は "windows" を返します。
VxWorks 注意: この関数は "vxworks" を返します。
その他のUnix系システムでは、この関数は通常 "unknown "を返します。
QFileSelector 、kernelType()、kernelVersion()、productVersion()、prettyProductName()も参照のこと 。
[static]
QString QSysInfo::productVersion()
オペレーティング・システムの製品バージョンを文字列形式で返す。バージョンが特定できなかった場合、この関数は "unknown" を返します。
Android、iOS、macOS、VxWorks、Windowsの製品バージョンを返します。
典型的な返される値は以下のとおりです(注:リストは網羅的ではありません):
- 「12" (Android 12)
- 「36" (Fedora 36)
- 「15.5" (iOS 15.5)
- 「12.4" (macOS Monterey)
- 「22.04" (Ubuntu 22.04)
- 「8.6" (watchOS 8.6)
- "11"(ウィンドウズ11)
- "Server 2022" (ウィンドウズ・サーバー2022)
- 「24.03" (VxWorks 7 - 24.03)
Linux システムでは、ディストリビューションのバージョンを判別し、それを返します。これはDebian/kFreeBSDでも行われるため、この関数はDebianのバージョンを返します。
その他のUnix系システムでは、この関数は常に "unknown "を返します。
注意: この関数から返されるバージョン文字列は、順序が保証されていません。Linuxでは、ディストリビューションのバージョンは予期せずジャンプする可能性があります。
kernelType()、kernelVersion()、productType()、prettyProductName()も参照の こと。
© 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.