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 :
| Plateformes | Valeur |
|---|---|
| Android | ré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 Apple | majorVersion minorVersion, et patchVersion à partir de NSProcessInfo.operatingSystemVersion |
| Windows | dwMajorVersion, 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.
| Constante | Valeur | Description |
|---|---|---|
QOperatingSystemVersion::Android | 6 | Le système d'exploitation Google Android. |
QOperatingSystemVersion::IOS | 3 | Le système d'exploitation Apple iOS. |
QOperatingSystemVersion::MacOS | 2 | Le système d'exploitation macOS d'Apple. |
QOperatingSystemVersion::TvOS | 4 | Le système d'exploitation Apple tvOS. |
QOperatingSystemVersion::WatchOS | 5 | Le système d'exploitation Apple watchOS. |
QOperatingSystemVersion::VisionOS | 7 | Le système d'exploitation Apple visionOS. |
QOperatingSystemVersion::Windows | 1 | Le système d'exploitation Microsoft Windows. |
QOperatingSystemVersion::Unknown | 0 | Un 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.