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公司注册商标。所有其他商标均为其各自所有者的财产。