QOperatingSystemVersion 类
QOperatingSystemVersion 类提供有关操作系统版本的信息。 更多信息...
| 头文件 | #include <QOperatingSystemVersion> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) | 
| qmake | QT += core | 
| 继承 | QOperatingSystemVersionBase | 
公开类型
| 枚举 | 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.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 | 
| const QOperatingSystemVersion | MacOSSierra | 
| (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 | 
| const QOperatingSystemVersion | Windows8_1 | 
| QOperatingSystemVersion | current() | 
| QOperatingSystemVersion::OSType | currentType() | 
详细描述
与其他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 Platforms | majorVersion、minorVersion和NSProcessInfo.operatingSystemVersion中的patchVersion | 
| Windows | 从RtlGetVersion中获取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::Android | 6 | 谷歌Android操作系统。 | 
| QOperatingSystemVersion::IOS | 3 | 苹果iOS操作系统。 | 
| QOperatingSystemVersion::MacOS | 2 | 苹果macOS操作系统。 | 
| QOperatingSystemVersion::TvOS | 4 | 苹果tvOS操作系统。 | 
| QOperatingSystemVersion::WatchOS | 5 | 苹果watchOS操作系统。 | 
| QOperatingSystemVersion::Windows | 1 | 微软Windows操作系统。 | 
| QOperatingSystemVersion::Unknown | 0 | 未知或不支持的操作系统中。 | 
成员函数文档
[constexpr] QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)
构建一个由操作系统类型 osType,以及主版本号、次版本号和次次版本号 vmajor、vminor 和 vmicro 组成的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公司注册商标。所有其他商标均为其各自所有者的财产。