本页内容

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::Android6Google Android 操作系统。
QOperatingSystemVersion::IOS3Apple iOS 操作系统。
QOperatingSystemVersion::MacOS2苹果 macOS 操作系统。
QOperatingSystemVersion::TvOS4苹果 tvOS 操作系统。
QOperatingSystemVersion::WatchOS5Apple watchOS 操作系统。
QOperatingSystemVersion::VisionOS7苹果 visionOS 操作系统。
QOperatingSystemVersion::Windows1微软 Windows 操作系统。
QOperatingSystemVersion::HarmonyOS (since Qt 6.12)8HarmonyOS 操作系统。
QOperatingSystemVersion::Unknown0未知或不受支持的操作系统。

成员函数文档

[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.