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 :
| 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 les composants de version majeure et mineure en cas d’échec de la première méthode |
| Plateformes Apple | majorVersion, minorVersion et patchVersion issus de NSProcessInfo.operatingSystemVersion |
| Windows | dwMajorVersion, 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.
| Constante | Valeur | Description |
|---|---|---|
QOperatingSystemVersion::Android | 6 | Le système d'exploitation Android de Google. |
QOperatingSystemVersion::IOS | 3 | Le système d'exploitation iOS d'Apple. |
QOperatingSystemVersion::MacOS | 2 | Le système d'exploitation macOS d'Apple. |
QOperatingSystemVersion::TvOS | 4 | Le système d'exploitation tvOS d'Apple. |
QOperatingSystemVersion::WatchOS | 5 | Le système d'exploitation watchOS d'Apple. |
QOperatingSystemVersion::VisionOS | 7 | Le système d'exploitation visionOS d'Apple. |
QOperatingSystemVersion::Windows | 1 | Le système d'exploitation Windows de Microsoft. |
QOperatingSystemVersion::HarmonyOS (since Qt 6.12) | 8 | Le système d'exploitation HarmonyOS. |
QOperatingSystemVersion::Unknown | 0 | Un 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.