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——请注意,该函数始终返回底层操作系统的版本号,而 GetVersionEx 底层的适配层则会在应用程序未针对该操作系统版本进行清单声明时隐藏真实版本号 |
由于 QOperatingSystemVersion 同时存储了版本号和操作系统类型,因此在进行比较时可以考虑操作系统类型。 例如,在运行 macOS Sierra(v10.12)的 macOS 系统上,尽管表达式左侧对象的主版本号(10)大于右侧对象的主版本号(9),但以下表达式仍将返回false :
bool ios_higher_then_9 = QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 9);这使得针对多个操作系统的表达式可以使用逻辑“或”运算符进行组合,同时仍能按预期工作。例如:
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
}如果采用更简单的比较算法,可能会在所有版本的 macOS(包括 Mac OS 9)上错误地返回 true。这种行为是通过重载比较运算符实现的:当被比较的 QOperatingSystemVersion 实例的操作系统类型不匹配时,该运算符会返回 `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 | 苹果 macOS 操作系统。 |
QOperatingSystemVersion::TvOS | 4 | 苹果 tvOS 操作系统。 |
QOperatingSystemVersion::WatchOS | 5 | Apple watchOS 操作系统。 |
QOperatingSystemVersion::VisionOS | 7 | 苹果 visionOS 操作系统。 |
QOperatingSystemVersion::Windows | 1 | 微软 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)
构建一个 QOperatingSystemVersion 对象,其中包含操作系统类型osType ,以及主版本号vmajor 、次版本号vminor 和微版本号vmicro 。
[static] QOperatingSystemVersion QOperatingSystemVersion::current()
返回一个QOperatingSystemVersion ,用于指示当前操作系统及其版本号。
另请参阅 currentType()。
[static constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()
返回当前操作系统类型,而无需创建QOperatingSystemVersion 实例。
另请参阅 current()。
bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const
返回由QOperatingSystemVersion 标识的操作系统类型是否与types 中的任何操作系统类型匹配。
[constexpr] int QOperatingSystemVersion::majorVersion() const
返回主版本号,即操作系统版本号中的第一部分。
有关特定操作系统的主版本号的具体含义,请参阅主类文档。
-1 表示版本号的某个组成部分未知或不存在。
另请参阅 version()、minorVersion() 和microVersion()。
[constexpr] int QOperatingSystemVersion::microVersion() const
返回微版本号,即操作系统版本号的第三部分。
有关特定操作系统上的微版本号是什么,请参阅主类文档。
-1 表示版本号的某个组成部分未知或缺失。
另请参阅 version()、majorVersion() 和minorVersion()。
[constexpr] int QOperatingSystemVersion::minorVersion() const
返回次版本号,即操作系统版本号的第二部分。
有关特定操作系统中次版本号的具体含义,请参阅主类文档。
-1 表示版本号的某个组成部分未知或不存在。
另请参阅 version()、majorVersion() 和microVersion()。
QString QOperatingSystemVersion::name() const
返回由QOperatingSystemVersion 标识的操作系统类型的字符串表示形式。
另请参阅 type()。
[constexpr] int QOperatingSystemVersion::segmentCount() const
返回版本号中存储的整数个数。
[constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const
返回由QOperatingSystemVersion 标识的操作系统类型。
另请参阅 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 2018 年 10 月更新(版本 1809,即 10.0.17763)。
该变量在 Qt 6.3 中引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903
该变量存储与 Windows 10 2019 年 5 月更新(版本 1903,即 10.0.18362)对应的版本号。
该变量于 Qt 6.3 中引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909
该变量存储的版本号对应于 Windows 10 2019 年 11 月更新(版本 1909,即 10.0.18363)。
该变量自 Qt 6.3 起引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2
该变量存储的版本号对应于 Windows 10 2020 年 10 月更新(版本 20H2,即 10.0.19042)。
该变量自 Qt 6.3 起引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004
该变量存储的版本号对应于 Windows 10 2020 年 5 月更新(版本 2004,即 10.0.19041)。
该变量自 Qt 6.3 起引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1
该变量存储的版本号对应于 Windows 10 2021 年 5 月更新(版本 21H1,即 10.0.19043)。
该变量在 Qt 6.3 中引入。
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2
该变量存储的版本号对应于 Windows 10 2021 年 11 月更新(版本 21H2,即 10.0.19044)。
该变量自 Qt 6.3 起引入。
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2
该变量存储的版本号对应于 Windows 10 2022 年 10 月更新(版本 22H2,即 10.0.19045)。
该变量自 Qt 6.5 起引入。
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2
该变量存储的版本号对应于 Windows 11 版本 21H2(版本号 10.0.22000)。
该变量在 Qt 6.4 中引入。
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2
该变量存储的版本号对应于 Windows 11 版本 22H2(版本号 10.0.22621)。
该变量于 Qt 6.4 中引入。
[since 6.6] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_23H2
该变量存储与 Windows 11 版本 23H2(版本号 10.0.22631)对应的版本号。
该变量自 Qt 6.6 起引入。
[since 6.8.1] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_24H2
该变量存储的版本号对应于 Windows 11 版本 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.