QOperatingSystemVersion Class
La clase QOperatingSystemVersion proporciona información sobre la versión del sistema operativo. Más...
| Cabecera: | #include <QOperatingSystemVersion> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Hereda de: | QOperatingSystemVersionBase |
Tipos Públicos
| enum | OSType { Android, IOS, MacOS, TvOS, WatchOS, …, Unknown } |
Funciones Públicas
| 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 |
Miembros Públicos Estáticos
(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.7) const QOperatingSystemVersionBase | Android14 |
(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 |
(since 6.8) const QOperatingSystemVersionBase | MacOSSequoia |
| const QOperatingSystemVersion | MacOSSierra |
(since 6.5) const QOperatingSystemVersionBase | MacOSSonoma |
(since 6.10) const QOperatingSystemVersionBase | MacOSTahoe |
(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 |
(since 6.6) const QOperatingSystemVersionBase | Windows11_23H2 |
(since 6.8.1) const QOperatingSystemVersionBase | Windows11_24H2 |
(since 6.11) const QOperatingSystemVersionBase | Windows11_25H2 |
| const QOperatingSystemVersion | Windows8_1 |
| QOperatingSystemVersion | current() |
| QOperatingSystemVersion::OSType | currentType() |
Descripción Detallada
A diferencia de otras funciones de versión en QSysInfo, QOperatingSystemVersion proporciona acceso al número de versión completo que developers suele utilizar para variar el comportamiento o determinar si habilitar APIs o características basadas en la versión del sistema operativo (en contraposición al número de versión del kernel o la versión de marketing).
Actualmente, Android, las plataformas de Apple (iOS, macOS, tvOS, watchOS y visionOS) y Windows son compatibles.
Las funciones majorVersion(), minorVersion(), y microVersion() devuelven las partes del número de versión del sistema operativo en que se basan:
| Plataformas | Valor |
|---|---|
| Android | resultado del análisis sintáctico de android .os.Build .VERSION.RELEASE mediante QVersionNumber, con un recurso a android.os.Build.VERSION.SDK_INT para determinar el componente de versión mayor y menor si falla el primero. |
| Plataformas Apple | majorVersion minorVersion y patchVersion de NSProcessInfo.operatingSystemVersion |
| Windows | dwMajorVersion, dwMinorVersion, y dwBuildNumber de RtlGetVersion - tenga en cuenta que esta función SIEMPRE devuelve el número de versión del sistema operativo subyacente, a diferencia del shim debajo de GetVersionEx que oculta el número de versión real si la aplicación no se manifiesta para esa versión del SO |
Debido a que QOperatingSystemVersion almacena tanto un número de versión como un tipo de SO, el tipo de SO puede ser tenido en cuenta cuando se realizan comparaciones. Por ejemplo, en un sistema macOS que ejecute macOS Sierra (v10.12), la siguiente expresión devolverá false aunque el componente del número de versión principal del objeto situado a la izquierda de la expresión (10) sea mayor que el del objeto situado a la derecha (9):
bool ios_higher_then_9 = QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 9);
Esto permite que las expresiones para varios sistemas operativos se unan con un operador lógico OR y sigan funcionando como se espera. Por ejemplo:
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 }
Un algoritmo de comparación más ingenuo podría devolver incorrectamente verdadero en todas las versiones de macOS, incluido Mac OS 9. Este comportamiento se consigue sobrecargando los operadores de comparación para que devuelvan false siempre que los tipos de SO de las instancias QOperatingSystemVersion comparadas no coincidan. Tenga en cuenta que debido a esto puede darse el caso de que x >= y y x < y sean AMBOS false para las mismas instancias de x y y.
Documentación del tipo de miembro
enum QOperatingSystemVersion::OSType
Este enum proporciona nombres simbólicos para las distintas familias de sistemas operativos compatibles con QOperatingSystemVersion.
| Constante | Valor | Descripción |
|---|---|---|
QOperatingSystemVersion::Android | 6 | Sistema operativo Android de Google. |
QOperatingSystemVersion::IOS | 3 | Sistema operativo iOS de Apple. |
QOperatingSystemVersion::MacOS | 2 | Sistema operativo Apple macOS. |
QOperatingSystemVersion::TvOS | 4 | Sistema operativo Apple tvOS. |
QOperatingSystemVersion::WatchOS | 5 | El sistema operativo watchOS de Apple. |
QOperatingSystemVersion::VisionOS | 7 | El sistema operativo Apple visionOS. |
QOperatingSystemVersion::Windows | 1 | El sistema operativo Microsoft Windows. |
QOperatingSystemVersion::Unknown | 0 | Un sistema operativo desconocido o no soportado. |
Documentación de las funciones miembro
[constexpr] QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)
Construye un QOperatingSystemVersion consistente en el tipo de OS osType, y los números de versión mayor, menor y micro vmajor, vminor y vmicro, respectivamente.
[static] QOperatingSystemVersion QOperatingSystemVersion::current()
Devuelve un QOperatingSystemVersion indicando el sistema operativo actual y su número de versión.
Véase también currentType().
[static constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()
Devuelve el tipo de SO actual sin construir una instancia de QOperatingSystemVersion.
Véase también current().
bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const
Devuelve si el tipo de SO identificado por QOperatingSystemVersion coincide con alguno de los tipos de SO de types.
[constexpr] int QOperatingSystemVersion::majorVersion() const
Devuelve el número de versión principal, es decir, el primer segmento del número de versión del sistema operativo.
Consulte la documentación de la clase principal para saber cuál es el número de versión principal en un sistema operativo determinado.
-1 indica un componente de número de versión desconocido o ausente.
Véase también version(), minorVersion(), y microVersion().
[constexpr] int QOperatingSystemVersion::microVersion() const
Devuelve el número de micro versión, es decir, el tercer segmento del número de versión del sistema operativo.
Consulte la documentación de la clase principal para saber cuál es el número de microversión en un sistema operativo determinado.
-1 indica un componente de número de versión desconocido o ausente.
Véase también version(), majorVersion(), y minorVersion().
[constexpr] int QOperatingSystemVersion::minorVersion() const
Devuelve el número de versión menor, es decir, el segundo segmento del número de versión del sistema operativo.
Consulte la documentación de la clase principal para saber cuál es el número de versión menor en un sistema operativo determinado.
-1 indica un componente de número de versión desconocido o ausente.
Véase también version(), majorVersion(), y microVersion().
QString QOperatingSystemVersion::name() const
Devuelve una representación de cadena del tipo de SO identificado por QOperatingSystemVersion.
Véase también type().
[constexpr] int QOperatingSystemVersion::segmentCount() const
Devuelve el número de enteros almacenados en el número de versión.
[constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const
Devuelve el tipo de SO identificado por QOperatingSystemVersion.
Véase también name().
[since 6.1] QVersionNumber QOperatingSystemVersion::version() const
Devuelve el número de versión del sistema operativo.
Consulte la documentación de la clase principal para saber cuál es el número de versión en un sistema operativo determinado.
Esta función se introdujo en Qt 6.1.
Véase también majorVersion(), minorVersion(), y microVersion().
Documentación de variables miembro
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android10
Esta variable contiene una versión correspondiente a Android 10 (versión 10.0, nivel de API 29).
Esta variable se introdujo en Qt 6.1.
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android11
Esta variable contiene una versión correspondiente a Android 11 (versión 11.0, nivel de API 30).
Esta variable se introdujo en Qt 6.1.
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12
Esta variable contiene una versión correspondiente a Android 12 (versión 12.0, nivel de API 31).
Esta variable se introdujo en Qt 6.5.
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android13
Esta variable contiene una versión correspondiente a Android 13 (versión 13.0, nivel de API 33).
Esta variable se introdujo en Qt 6.5.
[since 6.7] const QOperatingSystemVersionBase QOperatingSystemVersion::Android14
Esta variable contiene una versión correspondiente a Android 14 (versión 14.0, nivel de API 34).
Esta variable se introdujo en Qt 6.7.
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12L
Esta variable contiene una versión correspondiente a Android 12L (versión 12.0, nivel de API 32).
Esta variable se introdujo en Qt 6.5.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean
Esta variable contiene una versión correspondiente a Android Jelly Bean (versión 4.1, nivel de API 16).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR1
Esta variable contiene una versión correspondiente a Android Jelly Bean, versión de mantenimiento 1 (versión 4.2, nivel de API 17).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR2
Esta variable contiene una versión correspondiente a Android Jelly Bean, versión de mantenimiento 2 (versión 4.3, nivel de API 18).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidKitKat
Esta variable contiene una versión correspondiente a Android KitKat (versiones 4.4 y 4.4W, niveles API 19 y 20).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop
Esta variable contiene una versión correspondiente a Android Lollipop (versión 5.0, nivel de API 21).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop_MR1
Esta variable contiene una versión correspondiente a Android Lollipop, versión de mantenimiento 1 (versión 5.1, nivel de API 22).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidMarshmallow
Esta variable contiene una versión correspondiente a Android Marshmallow (versión 6.0, nivel de API 23).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat
Esta variable contiene una versión correspondiente a Android Nougat (versión 7.0, nivel de API 24).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat_MR1
Esta variable contiene una versión correspondiente a Android Nougat, versión de mantenimiento 1 (versión 7.0, nivel de API 25).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo
Esta variable contiene una versión correspondiente a Android Oreo (versión 8.0, nivel de API 26).
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1
Esta variable contiene una versión correspondiente a Android Oreo_MR1 (versión 8.1, nivel de API 27).
Esta variable se introdujo en Qt 6.1.
[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidPie
Esta variable contiene una versión correspondiente a Android Pie (versión 9.0, nivel de API 28).
Esta variable se introdujo en Qt 6.1.
[since 6.0] const QOperatingSystemVersion QOperatingSystemVersion::MacOSBigSur
Esta variable contiene una versión correspondiente a macOS Big Sur (versión 11).
Esta variable se introdujo en Qt 6.0.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSCatalina
Esta variable contiene una versión correspondiente a macOS Catalina (versión 10.15).
const QOperatingSystemVersion QOperatingSystemVersion::MacOSHighSierra
Esta variable contiene una versión correspondiente a macOS High Sierra (versión 10.13).
const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave
Esta variable contiene una versión correspondiente a macOS Mojave (versión 10.14).
[since 6.3] const QOperatingSystemVersion QOperatingSystemVersion::MacOSMonterey
Esta variable contiene una versión correspondiente a macOS Monterey (versión 12).
Esta variable se introdujo en Qt 6.3.
[since 6.8] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSequoia
Esta variable contiene una versión correspondiente a macOS Sequoia (versión 15).
Esta variable se introdujo en Qt 6.8.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra
Esta variable contiene una versión correspondiente a macOS Sierra (versión 10.12).
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSonoma
Esta variable contiene una versión correspondiente a macOS Sonoma (versión 14).
Esta variable se introdujo en Qt 6.5.
[since 6.10] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSTahoe
Esta variable contiene una versión correspondiente a macOS Tahoe (versión 26).
Esta variable se introdujo en Qt 6.10.
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSVentura
Esta variable contiene una versión correspondiente a macOS Ventura (versión 13).
Esta variable se introdujo en Qt 6.4.
const QOperatingSystemVersion QOperatingSystemVersion::OSXElCapitan
Esta variable contiene una versión correspondiente a OS X El Capitan (versión 10.11).
const QOperatingSystemVersion QOperatingSystemVersion::OSXMavericks
Esta variable contiene una versión correspondiente a OS X Mavericks (versión 10.9).
const QOperatingSystemVersion QOperatingSystemVersion::OSXYosemite
Esta variable contiene una versión correspondiente a OS X Yosemite (versión 10.10).
const QOperatingSystemVersion QOperatingSystemVersion::Windows7
Esta variable contiene una versión correspondiente a Windows 7 (versión 6.1).
const QOperatingSystemVersion QOperatingSystemVersion::Windows8
Esta variable contiene una versión correspondiente a Windows 8 (versión 6.2).
const QOperatingSystemVersion QOperatingSystemVersion::Windows10
Esta variable contiene una versión correspondiente a Windows 10 general (versión 10.0).
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11
Esta variable contiene una versión correspondiente a la versión inicial de Windows 11 (versión 10.0.22000).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1809
Esta variable contiene una versión correspondiente a Windows 10 October 2018 Update Version 1809 (versión 10.0.17763).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903
Esta variable contiene una versión correspondiente a Windows 10 May 2019 Update Version 1903 (versión 10.0.18362).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909
Esta variable contiene una versión correspondiente a Windows 10 November 2019 Update Version 1909 (versión 10.0.18363).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2
Esta variable contiene una versión correspondiente a Windows 10 October 2020 Update Version 20H2 (versión 10.0.19042).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004
Esta variable contiene una versión correspondiente a Windows 10 May 2020 Update Version 2004 (versión 10.0.19041).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1
Esta variable contiene una versión correspondiente a Windows 10 May 2021 Update Version 21H1 (versión 10.0.19043).
Esta variable se introdujo en Qt 6.3.
[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2
Esta variable contiene una versión correspondiente a Windows 10 November 2021 Update Version 21H2 (versión 10.0.19044).
Esta variable se introdujo en Qt 6.3.
[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2
Esta variable contiene una versión correspondiente a Windows 10 October 2022 Update Version 22H2 (versión 10.0.19045).
Esta variable se introdujo en Qt 6.5.
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2
Esta variable contiene una versión correspondiente a Windows 11 Versión 21H2 (versión 10.0.22000).
Esta variable se introdujo en Qt 6.4.
[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2
Esta variable contiene una versión correspondiente a Windows 11 Versión 22H2 (versión 10.0.22621).
Esta variable se introdujo en Qt 6.4.
[since 6.6] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_23H2
Esta variable contiene una versión correspondiente a Windows 11 Versión 23H2 (versión 10.0.22631).
Esta variable se introdujo en Qt 6.6.
[since 6.8.1] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_24H2
Esta variable contiene una versión correspondiente a Windows 11 Versión 24H2 (versión 10.0.26100).
Esta variable se introdujo en Qt 6.8.1.
[since 6.11] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_25H2
Esta variable contiene una versión correspondiente a Windows 11 Versión 25H2 (versión 10.0.26200).
Esta variable se introdujo en Qt 6.11.
const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1
Esta variable contiene una versión correspondiente a Windows 8.1 (versión 6.3).
© 2026 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.