QOperatingSystemVersion¶
The QOperatingSystemVersion
class provides information about the operating system version. More…
New in version 5.9.
Synopsis¶
Functions¶
def
__ge__
(rhs)def
__gt__
(rhs)def
__le__
(rhs)def
__lt__
(rhs)def
majorVersion
()def
microVersion
()def
minorVersion
()def
name
()def
segmentCount
()def
type
()def
version
()
Static functions¶
def
current
()def
currentType
()
Detailed Description¶
Unlike other version functions in QSysInfo
, QOperatingSystemVersion
provides access to the full version number that developers
typically use to vary behavior or determine whether to enable APIs or features based on the operating system version (as opposed to the kernel version number or marketing version).
Presently, Android, Apple Platforms (iOS, macOS, tvOS, and watchOS), and Windows are supported.
The majorVersion()
, minorVersion()
, and microVersion()
functions return the parts of the operating system version number based on:
Platforms
Value
Android
result of parsing android.os.Build.VERSION.RELEASE using
QVersionNumber
, with a fallback to android.os.Build.VERSION.SDK_INT to determine the major and minor version component if the former failsApple Platforms
majorVersion
,minorVersion
, and patchVersion from NSProcessInfo.operatingSystemVersionWindows
dwMajorVersion, dwMinorVersion, and dwBuildNumber from RtlGetVersion - note that this function ALWAYS return the version number of the underlying operating system, as opposed to the shim underneath GetVersionEx that hides the real version number if the application is not manifested for that version of the OS
Because QOperatingSystemVersion
stores both a version number and an OS type, the OS type can be taken into account when performing comparisons. For example, on a macOS system running macOS Sierra (v10.12), the following expression will return false
even though the major version number component of the object on the left hand side of the expression (10) is greater than that of the object on the right (9):
QOperatingSystemVersion.current() >= QOperatingSystemVersion(QOperatingSystemVersion.IOS, 9)
This allows expressions for multiple operating systems to be joined with a logical OR operator and still work as expected. For example:
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
A more naive comparison algorithm might incorrectly return true on all versions of macOS, including Mac OS 9. This behavior is achieved by overloading the comparison operators to return false
whenever the OS types of the QOperatingSystemVersion
instances being compared do not match. Be aware that due to this it can be the case x
>= y and x
< y are BOTH false
for the same instances of x
and y
.
- class PySide6.QtCore.QOperatingSystemVersion(osType, vmajor[, vminor=-1[, vmicro=-1]])¶
PySide6.QtCore.QOperatingSystemVersion(QOperatingSystemVersion)
- Parameters
vmajor – int
QOperatingSystemVersion –
PySide6.QtCore.QOperatingSystemVersion
osType –
OSType
vmicro – int
vminor – int
Constructs a QOperatingSystemVersion
consisting of the OS type osType
, and major, minor, and micro version numbers vmajor
, vminor
and vmicro
, respectively.
- PySide6.QtCore.QOperatingSystemVersion.OSType¶
This enum provides symbolic names for the various operating system families supported by QOperatingSystemVersion
.
Constant
Description
QOperatingSystemVersion.Android
The Google Android operating system.
QOperatingSystemVersion.IOS
The Apple iOS operating system.
QOperatingSystemVersion.MacOS
The Apple macOS operating system.
QOperatingSystemVersion.TvOS
The Apple tvOS operating system.
QOperatingSystemVersion.WatchOS
The Apple watchOS operating system.
QOperatingSystemVersion.Windows
The Microsoft Windows operating system.
QOperatingSystemVersion.Unknown
An unknown or unsupported operating system.
- 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.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¶
- static PySide6.QtCore.QOperatingSystemVersion.current()¶
- Return type
Returns a QOperatingSystemVersion
indicating the current OS and its version number.
See also
Returns the current OS type without constructing a QOperatingSystemVersion
instance.
See also
- PySide6.QtCore.QOperatingSystemVersion.majorVersion()¶
- Return type
int
Returns the major version number, that is, the first segment of the operating system’s version number.
See the main class documentation for what the major version number is on a given operating system.
-1 indicates an unknown or absent version number component.
See also
- PySide6.QtCore.QOperatingSystemVersion.microVersion()¶
- Return type
int
Returns the micro version number, that is, the third segment of the operating system’s version number.
See the main class documentation for what the micro version number is on a given operating system.
-1 indicates an unknown or absent version number component.
See also
- PySide6.QtCore.QOperatingSystemVersion.minorVersion()¶
- Return type
int
Returns the minor version number, that is, the second segment of the operating system’s version number.
See the main class documentation for what the minor version number is on a given operating system.
-1 indicates an unknown or absent version number component.
See also
- PySide6.QtCore.QOperatingSystemVersion.name()¶
- Return type
str
Returns a string representation of the OS type identified by the QOperatingSystemVersion
.
See also
- PySide6.QtCore.QOperatingSystemVersion.__lt__(rhs)¶
- Parameters
- Return type
bool
- PySide6.QtCore.QOperatingSystemVersion.__le__(rhs)¶
- Parameters
- Return type
bool
- PySide6.QtCore.QOperatingSystemVersion.__gt__(rhs)¶
- Parameters
- Return type
bool
- PySide6.QtCore.QOperatingSystemVersion.__ge__(rhs)¶
- Parameters
- Return type
bool
- PySide6.QtCore.QOperatingSystemVersion.segmentCount()¶
- Return type
int
Returns the number of integers stored in the version number.
Returns the OS type identified by the QOperatingSystemVersion
.
See also
- PySide6.QtCore.QOperatingSystemVersion.version()¶
- Return type
Returns the operating system’s version number.
See the main class documentation for what the version number is on a given operating system.
See also
© 2022 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.