QOperatingSystemVersion Class
QOperatingSystemVersion クラスは、オペレーティングシステムのバージョンに関する情報を提供します。詳細...
| ヘッダー: | #include <QOperatingSystemVersion> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 継承元: | QOperatingSystemVersionBase |
パブリック型
| enum | OSType { Android, IOS, MacOS, TvOS, WatchOS, …, Unknown } |
パブリック関数
| QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1) | |
| bool | isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const |
| int | majorVersion() const |
| int | microVersion() const |
| int | minorVersion() const |
| QString | name() const |
| int | segmentCount() const |
| QOperatingSystemVersion::OSType | type() const |
(since 6.1) QVersionNumber | version() const |
静的パブリックメンバー
(since 6.1) const QOperatingSystemVersion | Android10 |
(since 6.1) const QOperatingSystemVersion | Android11 |
(since 6.5) const QOperatingSystemVersionBase | Android12 |
(since 6.5) const QOperatingSystemVersionBase | Android13 |
(since 6.7) const QOperatingSystemVersionBase | Android14 |
(since 6.5) const QOperatingSystemVersionBase | Android12L |
| const QOperatingSystemVersion | AndroidJellyBean |
| const QOperatingSystemVersion | AndroidJellyBean_MR1 |
| const QOperatingSystemVersion | AndroidJellyBean_MR2 |
| const QOperatingSystemVersion | AndroidKitKat |
| const QOperatingSystemVersion | AndroidLollipop |
| const QOperatingSystemVersion | AndroidLollipop_MR1 |
| const QOperatingSystemVersion | AndroidMarshmallow |
| const QOperatingSystemVersion | AndroidNougat |
| const QOperatingSystemVersion | AndroidNougat_MR1 |
| const QOperatingSystemVersion | AndroidOreo |
(since 6.1) const QOperatingSystemVersion | AndroidOreo_MR1 |
(since 6.1) const QOperatingSystemVersion | AndroidPie |
(since 6.0) const QOperatingSystemVersion | MacOSBigSur |
| const QOperatingSystemVersion | MacOSCatalina |
(since 6.12) const QOperatingSystemVersionBase | MacOSGoldenGate |
| const QOperatingSystemVersion | MacOSHighSierra |
| const QOperatingSystemVersion | MacOSMojave |
(since 6.3) const QOperatingSystemVersion | MacOSMonterey |
(since 6.8) const QOperatingSystemVersionBase | MacOSSequoia |
| const QOperatingSystemVersion | MacOSSierra |
(since 6.5) const QOperatingSystemVersionBase | MacOSSonoma |
(since 6.10) const QOperatingSystemVersionBase | MacOSTahoe |
(since 6.4) const QOperatingSystemVersionBase | MacOSVentura |
| const QOperatingSystemVersion | OSXElCapitan |
| const QOperatingSystemVersion | OSXMavericks |
| const QOperatingSystemVersion | OSXYosemite |
| const QOperatingSystemVersion | Windows7 |
| const QOperatingSystemVersion | Windows8 |
| const QOperatingSystemVersion | Windows10 |
(since 6.3) const QOperatingSystemVersionBase | Windows11 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_1809 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_1903 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_1909 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_20H2 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_2004 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_21H1 |
(since 6.3) const QOperatingSystemVersionBase | Windows10_21H2 |
(since 6.5) const QOperatingSystemVersionBase | Windows10_22H2 |
(since 6.4) const QOperatingSystemVersionBase | Windows11_21H2 |
(since 6.4) const QOperatingSystemVersionBase | Windows11_22H2 |
(since 6.6) const QOperatingSystemVersionBase | Windows11_23H2 |
(since 6.8.1) const QOperatingSystemVersionBase | Windows11_24H2 |
(since 6.11) const QOperatingSystemVersionBase | Windows11_25H2 |
| const QOperatingSystemVersion | Windows8_1 |
| QOperatingSystemVersion | current() |
| QOperatingSystemVersion::OSType | currentType() |
詳細な説明
QSysInfo の他のバージョン関数とは異なり、QOperatingSystemVersion は、developers が通常、動作を変更したり、オペレーティングシステムのバージョン(カーネルバージョンやマーケティングバージョンではなく)に基づいて API や機能を有効にするかどうかを判断するために使用する完全なバージョン番号へのアクセスを提供します。
現在、Android、Apple プラットフォーム(iOS、macOS、tvOS、watchOS、および visionOS)、OpenHarmony(HarmonyOS )、および Windows がサポートされています。
majorVersion() 、minorVersion() 、およびmicroVersion() 関数は、以下に基づいてオペレーティングシステムのバージョン番号の各部分を返します:
| プラットフォーム | 値 |
|---|---|
| Android | QVersionNumber を使用してandroid.os.Build.VERSION.RELEASE を解析した結果。前者が失敗した場合は、メジャーおよびマイナーバージョンの構成要素を決定するためにandroid.os.Build.VERSION.SDK_INTがフォールバックとして使用されます。 |
| Apple プラットフォーム | majorVersion、minorVersion 、およびNSProcessInfo.operatingSystemVersionから取得したpatchVersion |
| Windows | RtlGetVersionからの dwMajorVersion、dwMinorVersion、および dwBuildNumber — なお、この関数は常に基盤となるオペレーティングシステムのバージョン番号を返すことに注意してください。これは、アプリケーションがその OS バージョン用にマニフェスト化されていない場合に実際のバージョン番号を隠す、GetVersionEx の下にあるシムとは対照的です |
QOperatingSystemVersion はバージョン番号と OS タイプを両方格納しているため、比較を行う際に OS タイプを考慮に入れることができます。 たとえば、macOS Sierra (v10.12) を実行している macOS システムでは、式左辺のオブジェクトのメジャーバージョン番号(10)が右辺のオブジェクトのそれ(9)よりも大きいにもかかわらず、次の式は `false ` を返します。
bool ios_higher_then_9 = QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 9);これにより、複数のオペレーティングシステムを対象とする式を論理OR演算子で結合しても、期待どおりに動作します。例えば:
auto current = QOperatingSystemVersion::current();
if (current >= QOperatingSystemVersion::OSXYosemite ||
current >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 8)) {
// returns true on macOS >= 10.10 and iOS >= 8.0, but false on macOS < 10.10 and iOS < 8.0
}より単純な比較アルゴリズムでは、Mac OS 9 を含むすべての macOS バージョンで誤って true を返す可能性があります。この動作は、比較対象の QOperatingSystemVersion インスタンスの OS タイプが一致しない場合に、false を返すよう比較演算子をオーバーロードすることで実現されています。 このため、同じx およびy のインスタンスに対して、x >= yとx < yの両方がfalse となる場合があることに注意してください。
メンバ型のドキュメント
enum QOperatingSystemVersion::OSType
この列挙型は、QOperatingSystemVersion がサポートするさまざまなオペレーティングシステムファミリーに対するシンボリック名を定義しています。
| 定数 | 値 | 説明 |
|---|---|---|
QOperatingSystemVersion::Android | 6 | Google Android オペレーティングシステム。 |
QOperatingSystemVersion::IOS | 3 | Apple の iOS オペレーティングシステム。 |
QOperatingSystemVersion::MacOS | 2 | AppleのmacOSオペレーティングシステム。 |
QOperatingSystemVersion::TvOS | 4 | AppleのtvOSオペレーティングシステム。 |
QOperatingSystemVersion::WatchOS | 5 | AppleのwatchOSオペレーティングシステム。 |
QOperatingSystemVersion::VisionOS | 7 | AppleのvisionOSオペレーティングシステム。 |
QOperatingSystemVersion::Windows | 1 | MicrosoftのWindowsオペレーティングシステム。 |
QOperatingSystemVersion::HarmonyOS (since Qt 6.12) | 8 | HarmonyOSオペレーティングシステム。 |
QOperatingSystemVersion::Unknown | 0 | 不明またはサポートされていないオペレーティングシステム。 |
メンバ関数のドキュメント
[constexpr] QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)
OSの種類 `osType`、およびメジャーバージョン番号 `vmajor`、マイナーバージョン番号 `vminor `、マイクロバージョン番号 `vmicro` から構成される `QOperatingSystemVersion` オブジェクトを作成します。
[static] QOperatingSystemVersion QOperatingSystemVersion::current()
現在のOSとそのバージョン番号を示すQOperatingSystemVersion を返します。
currentType()も参照してください 。
[static constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()
QOperatingSystemVersion インスタンスを作成せずに、現在のOSタイプを返します。
current()も参照してください 。
bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const
QOperatingSystemVersion で指定された OS タイプが、types に含まれる OS タイプのいずれかと一致するかどうかを返します。
[constexpr] int QOperatingSystemVersion::majorVersion() const
メジャーバージョン番号、つまりオペレーティングシステムのバージョン番号の最初の部分を返します。
特定のオペレーティングシステムにおけるメジャーバージョン番号については、メインクラスのドキュメントを参照してください。
-1 は、バージョン番号の構成要素が不明または存在しないことを示します。
version()、minorVersion()、およびmicroVersion()も参照してください 。
[constexpr] int QOperatingSystemVersion::microVersion() const
マイクロバージョン番号、つまりオペレーティングシステムのバージョン番号の3番目のセグメントを返します。
特定のオペレーティングシステムにおけるマイクロバージョン番号については、メインクラスのドキュメントを参照してください。
-1 は、バージョン番号の構成要素が不明または存在しないことを示します。
version()、majorVersion()、およびminorVersion()も参照してください 。
[constexpr] int QOperatingSystemVersion::minorVersion() const
マイナーバージョン番号、つまりオペレーティングシステムのバージョン番号の2番目の部分を返します。
特定のオペレーティングシステムにおけるマイナーバージョン番号については、メインクラスのドキュメントを参照してください。
-1 は、バージョン番号の構成要素が不明または存在しないことを示します。
version()、majorVersion()、およびmicroVersion()も参照してください 。
QString QOperatingSystemVersion::name() const
QOperatingSystemVersion で識別される OS タイプの文字列表現を返します。
type()も参照してください 。
[constexpr] int QOperatingSystemVersion::segmentCount() const
バージョン番号に格納されている整数の数を返します。
[constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const
QOperatingSystemVersion で識別される OS の種類を返します。
name()も参照してください 。
[since 6.1] QVersionNumber QOperatingSystemVersion::version() const
オペレーティングシステムのバージョン番号を返します。
特定のオペレーティングシステムにおけるバージョン番号については、メインクラスのドキュメントを参照してください。
この関数は Qt 6.1 で導入されました。
majorVersion()、minorVersion()、およびmicroVersion()も参照してください 。
メンバ変数のドキュメント
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android10
この変数には、Android 10(バージョン 10.0、API レベル 29)に対応するバージョンが格納されます。
この変数は、Qt 6.1で導入されました。
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android11
この変数には、Android 11(バージョン 11.0、API レベル 30)に対応するバージョンが格納されます。
この変数は Qt 6.1 で導入されました。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12
この変数には、Android 12(バージョン 12.0、API レベル 31)に対応するバージョンが格納されています。
この変数は Qt 6.5 で導入されました。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android13
この変数には、Android 13(バージョン 13.0、API レベル 33)に対応するバージョンが格納されます。
この変数は Qt 6.5 で導入されました。
[since 6.7] const QOperatingSystemVersionBase QOperatingSystemVersion::Android14
この変数には、Android 14(バージョン 14.0、API レベル 34)に対応するバージョンが格納されています。
この変数は Qt 6.7 で導入されました。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12L
この変数には、Android 12L(バージョン 12.0、API レベル 32)に対応するバージョンが格納されます。
この変数は Qt 6.5 で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean
この変数には、Android Jelly Bean(バージョン 4.1、API レベル 16)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR1
この変数には、Android Jelly Beanのメンテナンスリリース1(バージョン4.2、APIレベル17)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR2
この変数には、Android Jelly Bean メンテナンスリリース 2(バージョン 4.3、API レベル 18)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidKitKat
この変数には、Android KitKat(バージョン 4.4 および 4.4W、API レベル 19 および 20)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop
この変数には、Android Lollipop(バージョン 5.0、API レベル 21)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop_MR1
この変数には、Android Lollipop のメンテナンスリリース 1(バージョン 5.1、API レベル 22)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidMarshmallow
この変数には、Android Marshmallow(バージョン 6.0、API レベル 23)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat
この変数には、Android Nougat(バージョン 7.0、API レベル 24)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat_MR1
この変数には、Android Nougatのメンテナンスリリース1(バージョン7.0、APIレベル25)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo
この変数には、Android Oreo(バージョン 8.0、API レベル 26)に対応するバージョンが格納されています。
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1
この変数には、Android Oreo_MR1(バージョン 8.1、API レベル 27)に対応するバージョンが格納されます。
この変数は Qt 6.1 で導入されました。
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidPie
この変数には、Android Pie(バージョン 9.0、API レベル 28)に対応するバージョンが格納されています。
この変数は Qt 6.1 で導入されました。
[since 6.0] const QOperatingSystemVersion QOperatingSystemVersion::MacOSBigSur
この変数には、macOS Big Sur(バージョン 11)に対応するバージョンが格納されています。
この変数は Qt 6.0 で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::MacOSCatalina
この変数には、macOS Catalina(バージョン 10.15)に対応するバージョンが格納されています。
[since 6.12] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSGoldenGate
この変数には、macOS Golden Gate(バージョン 27)に対応するバージョンが格納されています。
この変数は Qt 6.12 で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::MacOSHighSierra
この変数には、macOS High Sierra(バージョン 10.13)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave
この変数には、macOS Mojave(バージョン 10.14)に対応するバージョンが格納されています。
[since 6.3] const QOperatingSystemVersion QOperatingSystemVersion::MacOSMonterey
この変数には、macOS Monterey(バージョン 12)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.8] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSequoia
この変数には、macOS Sequoia(バージョン 15)に対応するバージョンが格納されます。
この変数は Qt 6.8 で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra
この変数には、macOS Sierra(バージョン 10.12)に対応するバージョンが格納されています。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSonoma
この変数には、macOS Sonoma(バージョン 14)に対応するバージョンが格納されています。
この変数は Qt 6.5 で導入されました。
[since 6.10] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSTahoe
この変数には、macOS Tahoe(バージョン 26)に対応するバージョンが格納されています。
この変数は、Qt 6.10で導入されました。
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSVentura
この変数には、macOS Ventura(バージョン 13)に対応するバージョンが格納されています。
この変数は、Qt 6.4で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::OSXElCapitan
この変数には、OS X El Capitan(バージョン 10.11)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::OSXMavericks
この変数には、OS X Mavericks(バージョン 10.9)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::OSXYosemite
この変数には、OS X Yosemite(バージョン 10.10)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::Windows7
この変数には、Windows 7(バージョン 6.1)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::Windows8
この変数には、Windows 8(バージョン 6.2)に対応するバージョンが格納されています。
const QOperatingSystemVersion QOperatingSystemVersion::Windows10
この変数には、Windows 10(バージョン 10.0)の標準バージョンが格納されています。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11
この変数には、Windows 11 の初期リリース(バージョン 10.0.22000)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1809
この変数には、Windows 10 October 2018 Update バージョン 1809(バージョン 10.0.17763)に対応するバージョンが格納されています。
この変数は、Qt 6.3で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903
この変数には、Windows 10 May 2019 Update バージョン 1903(バージョン 10.0.18362)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909
この変数には、Windows 10 November 2019 Update バージョン 1909(バージョン 10.0.18363)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2
この変数には、Windows 10 October 2020 Update バージョン 20H2(バージョン 10.0.19042)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004
この変数には、Windows 10 May 2020 Update バージョン 2004(バージョン 10.0.19041)に対応するバージョンが格納されています。
この変数は、Qt 6.3で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1
この変数には、Windows 10 May 2021 Update バージョン 21H1(バージョン 10.0.19043)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2
この変数には、Windows 10 November 2021 Update バージョン 21H2(バージョン 10.0.19044)に対応するバージョンが格納されています。
この変数は Qt 6.3 で導入されました。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2
この変数には、Windows 10 October 2022 Update バージョン 22H2(バージョン 10.0.19045)に対応するバージョンが格納されています。
この変数は Qt 6.5 で導入されました。
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2
この変数には、Windows 11 Version 21H2(バージョン 10.0.22000)に対応するバージョンが格納されます。
この変数は Qt 6.4 で導入されました。
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2
この変数には、Windows 11 Version 22H2(バージョン 10.0.22621)に対応するバージョンが格納されています。
この変数は Qt 6.4 で導入されました。
[since 6.6] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_23H2
この変数には、Windows 11 Version 23H2(バージョン 10.0.22631)に対応するバージョンが格納されています。
この変数は Qt 6.6 で導入されました。
[since 6.8.1] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_24H2
この変数には、Windows 11 Version 24H2(バージョン 10.0.26100)に対応するバージョンが格納されています。
この変数は Qt 6.8.1 で導入されました。
[since 6.11] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_25H2
この変数には、Windows 11 バージョン 25H2(バージョン 10.0.26200)に対応するバージョンが格納されています。
この変数は Qt 6.11 で導入されました。
const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1
この変数には、Windows 8.1(バージョン 6.3)に対応するバージョンが格納されています。
© 2026 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.