Sur cette page

QOperatingSystemVersion Class

La classe QOperatingSystemVersion fournit des informations sur la version du système d'exploitation. En savoir plus...

En-tête : #include <QOperatingSystemVersion>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérite de : QOperatingSystemVersionBase

Types publics

enum OSType { Android, IOS, MacOS, TvOS, WatchOS, …, Unknown }

Fonctions publiques

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

Membres publics statiques

(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
(since 6.12) const QOperatingSystemVersionBase MacOSGoldenGate
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()

Description détaillée

Contrairement aux autres fonctions de version de l'QSysInfo, QOperatingSystemVersion donne accès au numéro de version complet que les « developers » utilisent généralement pour modifier le comportement ou déterminer s'il faut activer des API ou des fonctionnalités en fonction de la version du système d'exploitation (par opposition au numéro de version du noyau ou à la version marketing).

Actuellement, Android, les plateformes Apple (iOS, macOS, tvOS, watchOS et visionOS), OpenHarmony (HarmonyOS) et Windows sont pris en charge.

Les fonctions majorVersion(), minorVersion() et microVersion() renvoient les différentes parties du numéro de version du système d’exploitation en fonction de :

PlateformesValeur
Androidrésultat de l’analyse de android.os.Build.VERSION.RELEASE à l’aide de QVersionNumber, avec un repli sur android.os.Build.VERSION.SDK_INT pour déterminer les composants de version majeure et mineure en cas d’échec de la première méthode
Plateformes ApplemajorVersion, minorVersion et patchVersion issus de NSProcessInfo.operatingSystemVersion
WindowsdwMajorVersion, dwMinorVersion et dwBuildNumber issus de RtlGetVersion — notez que cette fonction renvoie TOUJOURS le numéro de version du système d’exploitation sous-jacent, contrairement au shim sous-jacent à GetVersionEx qui masque le numéro de version réel si l’application n’est pas déclarée pour cette version du système d’exploitation

Comme QOperatingSystemVersion stocke à la fois un numéro de version et un type de système d’exploitation, ce dernier peut être pris en compte lors des comparaisons. Par exemple, sur un système macOS exécutant macOS Sierra (v10.12), l'expression suivante renverra « false » même si la composante du numéro de version majeure de l'objet situé à gauche de l'expression (10) est supérieure à celle de l'objet situé à droite (9) :

   bool ios_higher_then_9 = QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 9);

Cela permet de combiner des expressions relatives à plusieurs systèmes d’exploitation à l’aide d’un opérateur logique OU tout en garantissant un fonctionnement conforme aux attentes. Par exemple :

    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 algorithme de comparaison plus naïf pourrait renvoyer à tort la valeur « true » sur toutes les versions de macOS, y compris Mac OS 9. Ce comportement est obtenu en surchargeant les opérateurs de comparaison afin qu’ils renvoient « false » dès lors que les types de système d’exploitation des instances QOperatingSystemVersion comparées ne correspondent pas. Notez qu’en raison de cela, il peut arriver que x >= y et x < y soient TOUTES LES DEUX false pour les mêmes instances de x et y.

Documentation sur les types de membres

enum QOperatingSystemVersion::OSType

Cette énumération fournit des noms symboliques pour les différentes familles de systèmes d'exploitation prises en charge par QOperatingSystemVersion.

ConstanteValeurDescription
QOperatingSystemVersion::Android6Le système d'exploitation Android de Google.
QOperatingSystemVersion::IOS3Le système d'exploitation iOS d'Apple.
QOperatingSystemVersion::MacOS2Le système d'exploitation macOS d'Apple.
QOperatingSystemVersion::TvOS4Le système d'exploitation tvOS d'Apple.
QOperatingSystemVersion::WatchOS5Le système d'exploitation watchOS d'Apple.
QOperatingSystemVersion::VisionOS7Le système d'exploitation visionOS d'Apple.
QOperatingSystemVersion::Windows1Le système d'exploitation Windows de Microsoft.
QOperatingSystemVersion::HarmonyOS (since Qt 6.12)8Le système d'exploitation HarmonyOS.
QOperatingSystemVersion::Unknown0Un système d'exploitation inconnu ou non pris en charge.

Documentation sur les fonctions membres

[constexpr] QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)

Crée un objet `QOperatingSystemVersion` composé du type de système d'exploitation osType, ainsi que des numéros de version majeure, mineure et micro vmajor, vminor et vmicro, respectivement.

[static] QOperatingSystemVersion QOperatingSystemVersion::current()

Renvoie un objet de type « QOperatingSystemVersion » indiquant le système d'exploitation actuel et son numéro de version.

Voir aussi currentType().

[static constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()

Renvoie le type de système d'exploitation actuel sans créer d'instance de ` QOperatingSystemVersion `.

Voir aussi current().

bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const

Indique si le type de système d'exploitation identifié par l'QOperatingSystemVersion correspond à l'un des types de système d'exploitation répertoriés sur types.

[constexpr] int QOperatingSystemVersion::majorVersion() const

Renvoie le numéro de version majeur, c'est-à-dire la première partie du numéro de version du système d'exploitation.

Consultez la documentation de la classe principale pour connaître le numéro de version majeure sur un système d'exploitation donné.

-1 indique qu'un composant du numéro de version est inconnu ou absent.

Voir également version(), minorVersion() et microVersion().

[constexpr] int QOperatingSystemVersion::microVersion() const

Renvoie le numéro de version « micro », c'est-à-dire le troisième segment du numéro de version du système d'exploitation.

Consultez la documentation de la classe principale pour savoir ce qu’est le numéro de micro-version sur un système d’exploitation donné.

La valeur -1 indique qu'un composant du numéro de version est inconnu ou absent.

Voir également version(), majorVersion() et minorVersion().

[constexpr] int QOperatingSystemVersion::minorVersion() const

Renvoie le numéro de version mineure, c'est-à-dire le deuxième segment du numéro de version du système d'exploitation.

Consultez la documentation de la classe principale pour connaître la valeur du numéro de version mineure sur un système d'exploitation donné.

-1 indique qu'une composante du numéro de version est inconnue ou absente.

Voir également version(), majorVersion() et microVersion().

QString QOperatingSystemVersion::name() const

Renvoie une représentation sous forme de chaîne de caractères du type de système d'exploitation identifié par l'QOperatingSystemVersion.

Voir aussi type().

[constexpr] int QOperatingSystemVersion::segmentCount() const

Renvoie le nombre d'entiers contenus dans le numéro de version.

[constexpr] QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const

Renvoie le type de système d'exploitation identifié par l'QOperatingSystemVersion.

Voir également name().

[since 6.1] QVersionNumber QOperatingSystemVersion::version() const

Renvoie le numéro de version du système d'exploitation.

Consultez la documentation de la classe principale pour connaître le numéro de version d'un système d'exploitation donné.

Cette fonction a été introduite dans Qt 6.1.

Voir également majorVersion(), minorVersion() et microVersion().

Documentation sur les variables membres

[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android10

Cette variable contient une version correspondant à Android 10 (version 10.0, niveau d'API 29).

Cette variable a été introduite dans Qt 6.1.

[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::Android11

Cette variable contient une version correspondant à Android 11 (version 11.0, niveau d'API 30).

Cette variable a été introduite dans Qt 6.1.

[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12

Cette variable contient une version correspondant à Android 12 (version 12.0, niveau d'API 31).

Cette variable a été introduite dans Qt 6.5.

[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android13

Cette variable contient une version correspondant à Android 13 (version 13.0, niveau d'API 33).

Cette variable a été introduite dans Qt 6.5.

[since 6.7] const QOperatingSystemVersionBase QOperatingSystemVersion::Android14

Cette variable contient une version correspondant à Android 14 (version 14.0, niveau d'API 34).

Cette variable a été introduite dans Qt 6.7.

[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Android12L

Cette variable contient une version correspondant à Android 12L (version 12.0, niveau d'API 32).

Cette variable a été introduite dans Qt 6.5.

const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean

Cette variable contient une version correspondant à Android Jelly Bean (version 4.1, niveau d'API 16).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR1

Cette variable contient une version correspondant à Android Jelly Bean, version de maintenance 1 (version 4.2, niveau d'API 17).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR2

Cette variable contient une version correspondant à Android Jelly Bean, version de maintenance 2 (version 4.3, niveau d'API 18).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidKitKat

Cette variable contient une version correspondant à Android KitKat (versions 4.4 et 4.4W, niveaux d'API 19 et 20).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop

Cette variable contient une version correspondant à Android Lollipop (version 5.0, niveau d'API 21).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop_MR1

Cette variable contient une version correspondant à Android Lollipop, version de maintenance 1 (version 5.1, niveau d'API 22).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidMarshmallow

Cette variable contient une version correspondant à Android Marshmallow (version 6.0, niveau d'API 23).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat

Cette variable contient une version correspondant à Android Nougat (version 7.0, niveau d'API 24).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat_MR1

Cette variable contient une version correspondant à Android Nougat, version de maintenance 1 (version 7.0, niveau d'API 25).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo

Cette variable contient une version correspondant à Android Oreo (version 8.0, niveau d'API 26).

[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1

Cette variable contient une version correspondant à Android Oreo_MR1 (version 8.1, niveau d'API 27).

Cette variable a été introduite dans Qt 6.1.

[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidPie

Cette variable contient une version correspondant à Android Pie (version 9.0, niveau d'API 28).

Cette variable a été introduite dans Qt 6.1.

[since 6.0] const QOperatingSystemVersion QOperatingSystemVersion::MacOSBigSur

Cette variable contient une version correspondant à macOS Big Sur (version 11).

Cette variable a été introduite dans Qt 6.0.

const QOperatingSystemVersion QOperatingSystemVersion::MacOSCatalina

Cette variable contient une version correspondant à macOS Catalina (version 10.15).

[since 6.12] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSGoldenGate

Cette variable contient une version correspondant à macOS Golden Gate (version 27).

Cette variable a été introduite dans Qt 6.12.

const QOperatingSystemVersion QOperatingSystemVersion::MacOSHighSierra

Cette variable contient une version correspondant à macOS High Sierra (version 10.13).

const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave

Cette variable contient une version correspondant à macOS Mojave (version 10.14).

[since 6.3] const QOperatingSystemVersion QOperatingSystemVersion::MacOSMonterey

Cette variable contient une version correspondant à macOS Monterey (version 12).

Cette variable a été introduite dans Qt 6.3.

[since 6.8] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSequoia

Cette variable contient une version correspondant à macOS Sequoia (version 15).

Cette variable a été introduite dans Qt 6.8.

const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra

Cette variable contient une version correspondant à macOS Sierra (version 10.12).

[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSonoma

Cette variable contient une version correspondant à macOS Sonoma (version 14).

Cette variable a été introduite dans Qt 6.5.

[since 6.10] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSTahoe

Cette variable contient une version correspondant à macOS Tahoe (version 26).

Cette variable a été introduite dans Qt 6.10.

[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSVentura

Cette variable contient une version correspondant à macOS Ventura (version 13).

Cette variable a été introduite dans Qt 6.4.

const QOperatingSystemVersion QOperatingSystemVersion::OSXElCapitan

Cette variable contient une version correspondant à OS X El Capitan (version 10.11).

const QOperatingSystemVersion QOperatingSystemVersion::OSXMavericks

Cette variable contient une version correspondant à OS X Mavericks (version 10.9).

const QOperatingSystemVersion QOperatingSystemVersion::OSXYosemite

Cette variable contient une version correspondant à OS X Yosemite (version 10.10).

const QOperatingSystemVersion QOperatingSystemVersion::Windows7

Cette variable contient une version correspondant à Windows 7 (version 6.1).

const QOperatingSystemVersion QOperatingSystemVersion::Windows8

Cette variable contient une version correspondant à Windows 8 (version 6.2).

const QOperatingSystemVersion QOperatingSystemVersion::Windows10

Cette variable contient une version correspondant à la version standard de Windows 10 (version 10.0).

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11

Cette variable contient la version correspondant à la version initiale de Windows 11 (version 10.0.22000).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1809

Cette variable contient une version correspondant à la mise à jour d'octobre 2018 de Windows 10, version 1809 (version 10.0.17763).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903

Cette variable contient une version correspondant à la mise à jour de mai 2019 de Windows 10, version 1903 (version 10.0.18362).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909

Cette variable contient une version correspondant à la mise à jour de novembre 2019 de Windows 10, version 1909 (version 10.0.18363).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2

Cette variable contient une version correspondant à la mise à jour d'octobre 2020 de Windows 10, version 20H2 (version 10.0.19042).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004

Cette variable contient une version correspondant à la mise à jour de mai 2020 de Windows 10 (version 2004, version 10.0.19041).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1

Cette variable contient une version correspondant à la mise à jour de mai 2021 de Windows 10, version 21H1 (version 10.0.19043).

Cette variable a été introduite dans Qt 6.3.

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2

Cette variable contient une version correspondant à la mise à jour de novembre 2021 de Windows 10, version 21H2 (version 10.0.19044).

Cette variable a été introduite dans Qt 6.3.

[since 6.5] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2

Cette variable contient une version correspondant à la mise à jour d'octobre 2022 de Windows 10, version 22H2 (version 10.0.19045).

Cette variable a été introduite dans Qt 6.5.

[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2

Cette variable contient une version correspondant à Windows 11 Version 21H2 (version 10.0.22000).

Cette variable a été introduite dans Qt 6.4.

[since 6.4] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2

Cette variable contient une version correspondant à Windows 11 Version 22H2 (version 10.0.22621).

Cette variable a été introduite dans Qt 6.4.

[since 6.6] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_23H2

Cette variable contient une version correspondant à Windows 11 Version 23H2 (version 10.0.22631).

Cette variable a été introduite dans Qt 6.6.

[since 6.8.1] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_24H2

Cette variable contient une version correspondant à Windows 11 Version 24H2 (version 10.0.26100).

Cette variable a été introduite dans Qt 6.8.1.

[since 6.11] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_25H2

Cette variable contient une version correspondant à Windows 11 Version 25H2 (version 10.0.26200).

Cette variable a été introduite dans Qt 6.11.

const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1

Cette variable contient une version correspondant à Windows 8.1 (version 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.