En esta página

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:

PlataformasValor
Androidresultado 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 ApplemajorVersion minorVersion y patchVersion de NSProcessInfo.operatingSystemVersion
WindowsdwMajorVersion, 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.

ConstanteValorDescripción
QOperatingSystemVersion::Android6Sistema operativo Android de Google.
QOperatingSystemVersion::IOS3Sistema operativo iOS de Apple.
QOperatingSystemVersion::MacOS2Sistema operativo Apple macOS.
QOperatingSystemVersion::TvOS4Sistema operativo Apple tvOS.
QOperatingSystemVersion::WatchOS5El sistema operativo watchOS de Apple.
QOperatingSystemVersion::VisionOS7El sistema operativo Apple visionOS.
QOperatingSystemVersion::Windows1El sistema operativo Microsoft Windows.
QOperatingSystemVersion::Unknown0Un 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.