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 |
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.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 |
const QOperatingSystemVersion | Windows8_1 |
QOperatingSystemVersion | current() |
QOperatingSystemVersion::OSType | currentType() |
详细说明
与QSysInfo 中的其他版本函数不同,QOperatingSystemVersion 提供了对完整版本号的访问权限,developers 通常会根据操作系统版本(而非内核版本号或营销版本)来改变行为或决定是否启用 API 或功能。
目前支持安卓、苹果平台(iOS、macOS、tvOS、watchOS 和 visionOS)和 Windows。
majorVersion() 、minorVersion() 和microVersion() 函数返回操作系统版本号所基于的部分:
平台 | 值 |
---|---|
安卓 | 使用QVersionNumber 解析android.os.Build.VERSION.RELEASE的结果,如果前者失败,则返回到android.os.Build.VERSION.SDK_INT以确定主版本和次版本组件 |
苹果平台 | majorVersion,minorVersion ,以及来自NSProcessInfo.operatingSystemVersion 的 patchVersion |
Windows 平台 | 来自RtlGetVersion的 dwMajorVersion、dwMinorVersion 和 dwBuildNumber - 请注意,该函数始终返回底层操作系统的版本号,而不是 GetVersionEx 下面的垫片,后者会在应用程序不适用该版本操作系统的情况下隐藏真实版本号。 |
由于 QOperatingSystemVersion 同时存储了版本号和操作系统类型,因此在进行比较时可以考虑操作系统类型。例如,在运行 macOS Sierra (v10.12) 的 macOS 系统上,即使表达式左侧对象的主要版本号分量(10)大于右侧对象的主要版本号分量(9),下面的表达式仍会返回false
:
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 }
在所有版本的 macOS(包括 Mac OS 9)上,一种更简单的比较算法可能会错误地返回 true。这种行为是通过重载比较运算符实现的,只要被比较的 QOperatingSystemVersion 实例的操作系统类型不匹配,比较运算符就会返回false
。请注意,对于x
和y
的相同实例,可能会出现x
>= y 和x
< y 都是false
的情况。
成员类型文档
enum QOperatingSystemVersion::OSType
该枚举为QOperatingSystemVersion 支持的各种操作系统系列提供了符号名称。
常量 | 值 | 描述 |
---|---|---|
QOperatingSystemVersion::Android | 6 | 谷歌 Android 操作系统。 |
QOperatingSystemVersion::IOS | 3 | 苹果 iOS 操作系统。 |
QOperatingSystemVersion::MacOS | 2 | 苹果 macOS 操作系统。 |
QOperatingSystemVersion::TvOS | 4 | 苹果 tvOS 操作系统。 |
QOperatingSystemVersion::WatchOS | 5 | 苹果 watchOS 操作系统 |
QOperatingSystemVersion::VisionOS | 7 | 苹果 visionOS 操作系统 |
QOperatingSystemVersion::Windows | 1 | Microsoft Windows 操作系统。 |
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 版)相对应的版本。
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.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 Version 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 2019 年 11 月更新版本 1909(版本 10.0.18363)相对应的版本。
此文档在 Qt 6.3 中引入。
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2
该变量包含与 Windows 10 October 2020 Update Version 20H2 (version 10.0.19042) 相对应的版本。
此文档在 Qt 6.3 中引入。
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004
此变量包含与 Windows 10 May 2020 Update Version 2004(版本 10.0.19041)相对应的版本。
此文档在 Qt 6.3 中引入。
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1
该变量包含与 Windows 10 May 2021 Update Version 21H1 (version 10.0.19043) 相对应的版本。
此文档在 Qt 6.3 中引入。
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2
此变量包含与 Windows 10 November 2021 Update Version 21H2 (version 10.0.19044) 相对应的版本。
此文档在 Qt 6.3 中引入。
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2
此变量包含与 Windows 10 October 2022 Update Version 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 中引入。
const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1
该变量保存与 Windows 8.1(6.3 版)相对应的版本。
© 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.