PySide6.QtCore.QOperatingSystemVersion¶
- class QOperatingSystemVersion¶
QOperatingSystemVersion
类提供了有关操作系统版本的信息。更多…注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
与
QSysInfo
中的其他版本函数不同,QOperatingSystemVersion
提供了对完整版本号的访问,开发人员
通常使用此版本号来改变行为或根据操作系统版本(与内核版本号或市场版本相对)决定是否启用API或功能。目前,支持Android、Apple平台(iOS、macOS、tvOS、watchOS和visionOS)以及Windows。
majorVersion()
、minorVersion()
和microVersion()
函数根据以下内容返回操作系统版本号的各个部分:平台
值
Android
解析android.os.Build.VERSION.RELEASE的结果,使用
QVersionNumber
,如果前者失败,则回退到android.os.Build.VERSION.SDK_INT来确定主要和次要版本组件苹果平台
majorVersion
,minorVersion
, 以及来自 NSProcessInfo.operatingSystemVersion 的 patchVersionWindows
来自RtlGetVersion的dwMajorVersion、dwMinorVersion和dwBuildNumber - 请注意,此函数始终返回底层操作系统的版本号,与GetVersionEx下的shim不同,如果应用程序未针对该版本的OS进行清单,则shim会隐藏真实的版本号
因为
QOperatingSystemVersion
存储了版本号和操作系统类型,所以在进行比较时可以考虑操作系统类型。例如,在运行 macOS Sierra (v10.12) 的 macOS 系统上,即使表达式左侧对象的主要版本号组件(10)大于右侧对象的版本号(9),以下表达式也将返回false
:QOperatingSystemVersion.current() >= QOperatingSystemVersion(QOperatingSystemVersion.IOS, 9)
这允许将多个操作系统的表达式与逻辑OR运算符连接起来,并且仍然按预期工作。例如:
current = QOperatingSystemVersion.current() if (current >= QOperatingSystemVersion.OSXYosemite or 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
的情况。- PySide6.QtCore.QOperatingSystemVersion.Windows7¶
- PySide6.QtCore.QOperatingSystemVersion.Windows8¶
- PySide6.QtCore.QOperatingSystemVersion.Windows8_1¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10¶
- PySide6.QtCore.QOperatingSystemVersion.OSXMavericks¶
- PySide6.QtCore.QOperatingSystemVersion.OSXYosemite¶
- PySide6.QtCore.QOperatingSystemVersion.OSXElCapitan¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSSierra¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSHighSierra¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSMojave¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSCatalina¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSBigSur¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSMonterey¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidJellyBean¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidJellyBean_MR1¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidJellyBean_MR2¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidKitKat¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidLollipop¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidLollipop_MR1¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidMarshmallow¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidNougat¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidNougat_MR1¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidOreo¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidOreo_MR1¶
- PySide6.QtCore.QOperatingSystemVersion.AndroidPie¶
- PySide6.QtCore.QOperatingSystemVersion.Android10¶
- PySide6.QtCore.QOperatingSystemVersion.Android11¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_1809¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_1903¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_1909¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_2004¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_20H2¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_21H1¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_21H2¶
- PySide6.QtCore.QOperatingSystemVersion.Windows10_22H2¶
- PySide6.QtCore.QOperatingSystemVersion.Windows11¶
- PySide6.QtCore.QOperatingSystemVersion.Windows11_21H2¶
- PySide6.QtCore.QOperatingSystemVersion.Windows11_22H2¶
- PySide6.QtCore.QOperatingSystemVersion.Android12¶
- PySide6.QtCore.QOperatingSystemVersion.Android12L¶
- PySide6.QtCore.QOperatingSystemVersion.Android13¶
- PySide6.QtCore.QOperatingSystemVersion.MacOSVentura¶