QOperatingSystemVersion 类

QOperatingSystemVersion 类提供有关操作系统版本的信息。 更多信息...

头文件 #include <QOperatingSystemVersion>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
继承QOperatingSystemVersionBase

公开类型

枚举OSType { Android, IOS, MacOS, TvOS, WatchOS, …, Unknown }

公开函数

QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)
boolisAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const
intmajorVersion() const
intmicroVersion() const
intminorVersion() const
QStringname() const
intsegmentCount() const
QOperatingSystemVersion::OSTypetype() const
(since 6.1) QVersionNumberversion() const

静态公开成员

(since 6.1) const QOperatingSystemVersionAndroid10
(since 6.1) const QOperatingSystemVersionAndroid11
(since 6.5) const QOperatingSystemVersionBaseAndroid12
(since 6.5) const QOperatingSystemVersionBaseAndroid13
(since 6.5) const QOperatingSystemVersionBaseAndroid12L
const QOperatingSystemVersionAndroidJellyBean
const QOperatingSystemVersionAndroidJellyBean_MR1
const QOperatingSystemVersionAndroidJellyBean_MR2
const QOperatingSystemVersionAndroidKitKat
const QOperatingSystemVersionAndroidLollipop
const QOperatingSystemVersionAndroidLollipop_MR1
const QOperatingSystemVersionAndroidMarshmallow
const QOperatingSystemVersionAndroidNougat
const QOperatingSystemVersionAndroidNougat_MR1
const QOperatingSystemVersionAndroidOreo
(since 6.1) const QOperatingSystemVersionAndroidOreo_MR1
(since 6.1) const QOperatingSystemVersionAndroidPie
(since 6.0) const QOperatingSystemVersionMacOSBigSur
const QOperatingSystemVersionMacOSCatalina
const QOperatingSystemVersionMacOSHighSierra
const QOperatingSystemVersionMacOSMojave
(since 6.3) const QOperatingSystemVersionMacOSMonterey
const QOperatingSystemVersionMacOSSierra
(since 6.4) const QOperatingSystemVersionBaseMacOSVentura
const QOperatingSystemVersionOSXElCapitan
const QOperatingSystemVersionOSXMavericks
const QOperatingSystemVersionOSXYosemite
const QOperatingSystemVersionWindows7
const QOperatingSystemVersionWindows8
const QOperatingSystemVersionWindows10
(since 6.3) const QOperatingSystemVersionBaseWindows11
(since 6.3) const QOperatingSystemVersionBaseWindows10_1809
(since 6.3) const QOperatingSystemVersionBaseWindows10_1903
(since 6.3) const QOperatingSystemVersionBaseWindows10_1909
(since 6.3) const QOperatingSystemVersionBaseWindows10_20H2
(since 6.3) const QOperatingSystemVersionBaseWindows10_2004
(since 6.3) const QOperatingSystemVersionBaseWindows10_21H1
(since 6.3) const QOperatingSystemVersionBaseWindows10_21H2
(since 6.5) const QOperatingSystemVersionBaseWindows10_22H2
(since 6.4) const QOperatingSystemVersionBaseWindows11_21H2
(since 6.4) const QOperatingSystemVersionBaseWindows11_22H2
const QOperatingSystemVersionWindows8_1
QOperatingSystemVersioncurrent()
QOperatingSystemVersion::OSTypecurrentType()

详细描述

与其他QSysInfo中的版本函数不同,QOperatingSystemVersion提供了访问完整的版本号,开发者通常使用该版本号来改变行为或确定是否根据操作系统版本(而不是内核版本号或营销版本)来启用API或功能。

目前支持Android、Apple Platforms(iOS、macOS、tvOS和watchOS)以及Windows。

majorVersion()minorVersion()microVersion()函数返回基于

平台
Android通过android.os.Build.VERSION.RELEASE解析得到,如果没有成功,则回退到android.os.Build.VERSION.SDK_INT以确定主版本和次要版本组件
Apple PlatformsmajorVersionminorVersionNSProcessInfo.operatingSystemVersion中的patchVersion
WindowsRtlGetVersion中获取dwMajorVersion、dwMinorVersion和dwBuildNumber,请注意,该函数始终返回底层操作系统的版本号,而不是GetVersionEx下面的shim版本号,后者会隐藏实版本号,如果该应用程序未声明为该操作系统版本

由于QOperatingSystemVersion存储了版本号和OS类型,因此在执行比较时可以考虑OS类型。例如,在一个运行macOS Sierra (v10.12)的macOS系统上,下面的表达式将返回false,尽管表达式左边的对象的主版本号成分(10)大于右边的对象(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::Android6谷歌Android操作系统。
QOperatingSystemVersion::IOS3苹果iOS操作系统。
QOperatingSystemVersion::MacOS2苹果macOS操作系统。
QOperatingSystemVersion::TvOS4苹果tvOS操作系统。
QOperatingSystemVersion::WatchOS5苹果watchOS操作系统。
QOperatingSystemVersion::Windows1微软Windows操作系统。
QOperatingSystemVersion::Unknown0未知或不支持的操作系统中。

成员函数文档

[constexpr] QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)

构建一个由操作系统类型 osType,以及主版本号、次版本号和次次版本号 vmajorvminorvmicro 组成的QOperatingSystemVersion。

[静态] QOperatingSystemVersion QOperatingSystemVersion::current()

返回表示当前操作系统及其版本号的QOperatingSystemVersion对象。

另请参阅 currentType()。

[静态常量表达式] QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()

返回当前操作系统类型,而无需创建QOperatingSystemVersion实例。

另请参阅 current()。

bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const

返回由QOperatingSystemVersion确定的操作系统类型是否与在types中指定的任何操作系统类型匹配。

[常量表达式] int QOperatingSystemVersion::majorVersion() const

返回主要版本号,即操作系统版本号的第一部分。

请在主要类文档中查看特定操作系统中主要版本号的含义。

-1表示未知的或缺少的版本号组件。

另请参阅 version()、minorVersion()和microVersion()。

[常量表达式] int QOperatingSystemVersion::microVersion() const

返回次次版本号,即操作系统版本号的第三部分。

请在主要类文档中查看特定操作系统中次次版本号的含义。

-1表示未知的或缺少的版本号组件。

另请参阅 version()、majorVersion()和minorVersion()。

[常量表达式] int QOperatingSystemVersion::minorVersion() const

返回次版本号,即操作系统版本号的第二部分。

请在主要类文档中查看特定操作系统中次版本号的含义。

-1表示未知的或缺少的版本号组件。

另请参阅 version()、majorVersion()和microVersion()。

QString QOperatingSystemVersion::name() const

返回由QOperatingSystemVersion确定的操作系统类型的字符串表示。

另请参阅 type()。

[常量表达式] int QOperatingSystemVersion::segmentCount() const

返回版本号中存储的整数数量。

[常量表达式] QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const

返回由 QOperatingSystemVersion 标识的操作系统类型。

另请参阅 name()。

[自 6.1 版起] QVersionNumber QOperatingSystemVersion::version() const

返回操作系统的版本号。

有关特定操作系统中版本号的详细信息,请参阅主类文档。

此函数是在 Qt 6.1 中引入的。

另请参阅 majorVersion(),minorVersion() 和 microVersion()。

成员变量文档

[自 6.1 版起] const QOperatingSystemVersion QOperatingSystemVersion::Android10

该变量持有与 Android 10 (版本号 10.0,API 级别 29) 对应的版本。

此文档是在 Qt 6.1 中引入的。

[自 6.5 版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Android11

该变量持有与 Android 11 (版本号 11.0,API 级别 30) 对应的版本。

此文档是在 Qt 6.1 中引入的。

[自 6.5 版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12

该变量持有与 Android 12 (版本号 12.0,API 级别 31) 对应的版本。

此文档是在 Qt 6.5 中引入的。

[自 6.5 版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Android13

该变量持有与 Android 13 (版本号 13.0,API 级别 33) 对应的版本。

此文档是在 Qt 6.5 中引入的。

[自 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(版本7.0,API级别25)维护版本1对应的版本。

const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo

此变量存储与Android Oreo版本(版本8.0,API级别26)对应的版本。

[自6.1起] const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1

此变量存储与Android Oreo_MR1版本(版本8.1,API级别27)对应的版本。

此文档是在 Qt 6.1 中引入的。

[自6.1起] const QOperatingSystemVersion QOperatingSystemVersion::AndroidPie

此变量存储与Android Pie版本(版本9.0,API级别28)对应的版本。

此文档是在 Qt 6.1 中引入的。

[自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)对应的版本。

[自6.3起] const QOperatingSystemVersion QOperatingSystemVersion::MacOSMonterey

此变量存储与macOS Monterey版本(版本12)对应的版本。

此文档自Qt 6.3版本引入。

const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra

此变量存储与macOS Sierra版本(版本10.12)对应的版本。

[自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版本)对应的版本。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11

此变量用于表示与Windows 11(10.0.22000版本)的初始版本对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1809

此变量用于表示与Windows 10 October 2018 Update版本1809(10.0.17763版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903

此变量用于表示与Windows 10 May 2019 Update版本1903(10.0.18362版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909

此变量用于表示与Windows 10 November 2019 Update版本1909(10.0.18363版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2

此变量用于表示与Windows 10 October 2020 Update版本20H2(10.0.19042版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004

此变量用于表示与Windows 10 May 2020 Update版本2004(10.0.19041版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1

此变量用于表示与Windows 10 May 2021 Update版本21H1(10.0.19043版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.3版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2

此变量用于表示与Windows 10 November 2021 Update版本21H2(10.0.19044版本)对应的版本。

此文档自Qt 6.3版本引入。

[自6.5版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2

此变量用于表示与Windows 10 October 2022 Update版本22H2(10.0.19045版本)对应的版本。

此文档是在 Qt 6.5 中引入的。

[自6.4版起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2

此变量用于表示与Windows 11版本21H2(10.0.22000版本)对应的版本。

此文档自Qt 6.4版本引入。

[自6.4起] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2

该变量持有与Windows 11版本22H2(版本10.0.22621)相对应的版本。

此文档自Qt 6.4版本引入。

const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1

该变量持有与Windows 8.1(版本6.3)相对应的版本。

© 2024 Qt公司有限公司。此处包含的文档贡献归各自所有者版权所有。提供的文档受GNU自由文档许可证(版本1.3)的条款约束,由自由软件开发基金会发布。Qt及其相关标志是芬兰和/或其他国家的Qt公司注册商标。所有其他商标均为其各自所有者的财产。