Sur cette page

QOperatingSystemVersion Class

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

En-tête : #include <QOperatingSystemVersion>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérite : 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
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 à d'autres fonctions de version dans QSysInfo, QOperatingSystemVersion fournit un accès au numéro de version complet que developers utilise généralement pour faire varier le comportement ou déterminer s'il faut activer les API ou les fonctionnalités en fonction de la version du système d'exploitation (par opposition au numéro de version du noyau ou à la version de commercialisation).

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

Les fonctions majorVersion(), minorVersion(), et microVersion() renvoient les parties du numéro de version du système d'exploitation basées sur :

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 la composante majeure et mineure de la version en cas d'échec de la première.
Plateformes ApplemajorVersion minorVersion, et patchVersion à partir de NSProcessInfo.operatingSystemVersion
WindowsdwMajorVersion, dwMinorVersion, et dwBuildNumber de RtlGetVersion - notez que cette fonction renvoie TOUJOURS le numéro de version du système d'exploitation sous-jacent, contrairement au shim sous GetVersionEx qui cache le vrai numéro de version si l'application n'est pas manifestée pour cette version du système d'exploitation.

Étant donné que QOperatingSystemVersion stocke à la fois un numéro de version et un type de système d'exploitation, le type de système d'exploitation peut être pris en compte lors des comparaisons. Par exemple, sur un système macOS fonctionnant sous macOS Sierra (v10.12), l'expression suivante renverra false même si le composant du numéro de version majeure de l'objet du côté gauche de l'expression (10) est supérieur à celui de l'objet du côté droit (9) :

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

Cela permet de joindre des expressions pour plusieurs systèmes d'exploitation à l'aide d'un opérateur logique OR et de les faire fonctionner comme prévu. Par exemple, un algorithme de comparaison plus naïf pourrait ne pas fonctionner correctement :

    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 l'expression "vrai" sur toutes les versions de macOS, y compris mac OS 9. Ce comportement est obtenu en surchargeant les opérateurs de comparaison pour qu'ils renvoient false chaque fois que les types de système d'exploitation des instances QOperatingSystemVersion comparées ne correspondent pas. Sachez qu'il peut arriver que x >= y et x < y soient TOUS 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 Google Android.
QOperatingSystemVersion::IOS3Le système d'exploitation Apple iOS.
QOperatingSystemVersion::MacOS2Le système d'exploitation macOS d'Apple.
QOperatingSystemVersion::TvOS4Le système d'exploitation Apple tvOS.
QOperatingSystemVersion::WatchOS5Le système d'exploitation Apple watchOS.
QOperatingSystemVersion::VisionOS7Le système d'exploitation Apple visionOS.
QOperatingSystemVersion::Windows1Le système d'exploitation Microsoft Windows.
QOperatingSystemVersion::Unknown0Un système d'exploitation inconnu ou non pris en charge.

Documentation des fonctions membres

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

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

[static] QOperatingSystemVersion QOperatingSystemVersion::current()

Renvoie une adresse 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 d'OS actuel sans construire d'instance 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 QOperatingSystemVersion correspond à l'un des types de système d'exploitation figurant dans types.

[constexpr] int QOperatingSystemVersion::majorVersion() const

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

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

-1 indique un composant de numéro de version inconnu ou absent.

Voir aussi 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.

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

-1 indique un composant de numéro de version inconnu ou absent.

Voir aussi 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.

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

-1 indique un composant de numéro de version inconnu ou absent.

Voir aussi 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 QOperatingSystemVersion.

Voir aussi type().

[constexpr] int QOperatingSystemVersion::segmentCount() const

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

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

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

Voir aussi name().

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

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

Voir 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 aussi 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, API level 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, API level 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, API level 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, API level 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, API level 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, API level 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, API level 16).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR1

Cette variable contient une version correspondant à Android Jelly Bean, maintenance release 1 (version 4.2, API level 17).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR2

Cette variable contient une version correspondant à Android Jelly Bean, maintenance release 2 (version 4.3, API level 18).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidKitKat

Cette variable contient une version correspondant à Android KitKat (versions 4.4 & 4.4W, API levels 19 & 20).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop

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

const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop_MR1

Cette variable contient une version correspondant à Android Lollipop, maintenance release 1 (version 5.1, API level 22).

const QOperatingSystemVersion QOperatingSystemVersion::AndroidMarshmallow

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

const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat

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

const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat_MR1

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

const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo

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

[since 6.1] const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1

Cette variable contient une version correspondant à Android Oreo_MR1 (version 8.1, API level 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, API level 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).

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 générale de Windows 10 (version 10.0).

[since 6.3] const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11

Cette variable contient une 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 à Windows 10 October 2018 Update 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 à Windows 10 May 2019 Update 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 à Windows 10 November 2019 Update 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 à Windows 10 October 2020 Update 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 à Windows 10 May 2020 Update 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 à Windows 10 May 2021 Update 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 à Windows 10 November 2021 Update 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 à Windows 10 October 2022 Update 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.