QOperatingSystemVersion Class
Die Klasse QOperatingSystemVersion liefert Informationen über die Version des Betriebssystems. Mehr...
Kopfzeile: | #include <QOperatingSystemVersion> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Erbt: | QOperatingSystemVersionBase |
Öffentliche Typen
enum | OSType { Android, IOS, MacOS, TvOS, WatchOS, …, Unknown } |
Öffentliche Funktionen
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 |
Statische öffentliche Mitglieder
(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.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 |
const QOperatingSystemVersion | Windows8_1 |
QOperatingSystemVersion | current() |
QOperatingSystemVersion::OSType | currentType() |
Detaillierte Beschreibung
Im Gegensatz zu anderen Versionsfunktionen in QSysInfo bietet QOperatingSystemVersion Zugriff auf die vollständige Versionsnummer, die developers typischerweise verwendet, um das Verhalten zu variieren oder zu bestimmen, ob APIs oder Funktionen basierend auf der Betriebssystemversion aktiviert werden sollen (im Gegensatz zur Kernel-Versionsnummer oder Marketingversion).
Zurzeit werden Android, Apple-Plattformen (iOS, macOS, tvOS, watchOS und visionOS) und Windows unterstützt.
Die Funktionen majorVersion(), minorVersion() und microVersion() geben die Teile der Versionsnummer des Betriebssystems zurück, auf denen sie basieren:
Plattformen | Wert |
---|---|
Android | Ergebnis des Parsens von android.os.Build.VERSION.RELEASE unter Verwendung von QVersionNumber, mit einem Rückgriff auf android.os.Build.VERSION.SDK_INT, um die Haupt- und Nebenversionskomponente zu bestimmen, falls ersteres fehlschlägt |
Apple-Plattformen | majorVersion minorVersion, und patchVersion von NSProcessInfo.operatingSystemVersion |
Windows | dwMajorVersion, dwMinorVersion und dwBuildNumber von RtlGetVersion - beachten Sie, dass diese Funktion IMMER die Versionsnummer des zugrundeliegenden Betriebssystems zurückgibt, im Gegensatz zum Shim unterhalb von GetVersionEx, der die tatsächliche Versionsnummer versteckt, wenn die Anwendung nicht für diese Version des Betriebssystems manifestiert ist |
Da QOperatingSystemVersion sowohl eine Versionsnummer als auch einen Betriebssystemtyp speichert, kann der Betriebssystemtyp bei der Durchführung von Vergleichen berücksichtigt werden. Auf einem macOS-System mit macOS Sierra (v10.12) gibt der folgende Ausdruck beispielsweise false
zurück, obwohl die Hauptversionsnummer des Objekts auf der linken Seite des Ausdrucks (10) größer ist als die des Objekts auf der rechten Seite (9):
QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::IOS, 9)
Auf diese Weise können Ausdrücke für mehrere Betriebssysteme mit einem logischen ODER-Operator verknüpft werden und funktionieren trotzdem wie erwartet. Ein Beispiel:
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 }
Ein naiverer Vergleichsalgorithmus könnte auf allen Versionen von macOS, einschließlich Mac OS 9, fälschlicherweise true zurückgeben. Dieses Verhalten wird erreicht, indem die Vergleichsoperatoren so überladen werden, dass sie false
zurückgeben, wenn die Betriebssystemtypen der zu vergleichenden QOperatingSystemVersion-Instanzen nicht übereinstimmen. Beachten Sie, dass es daher vorkommen kann, dass x
>= y und x
< y BEIDE false
für dieselben Instanzen von x
und y
sind.
Dokumentation der Mitgliedstypen
enum QOperatingSystemVersion::OSType
Diese Aufzählung enthält symbolische Namen für die verschiedenen Betriebssystemfamilien, die von QOperatingSystemVersion unterstützt werden.
Konstante | Wert | Beschreibung |
---|---|---|
QOperatingSystemVersion::Android | 6 | Das Google Android-Betriebssystem. |
QOperatingSystemVersion::IOS | 3 | Das Apple iOS-Betriebssystem. |
QOperatingSystemVersion::MacOS | 2 | Das Apple-Betriebssystem macOS. |
QOperatingSystemVersion::TvOS | 4 | Das Apple-Betriebssystem tvOS. |
QOperatingSystemVersion::WatchOS | 5 | Das Apple watchOS-Betriebssystem. |
QOperatingSystemVersion::VisionOS | 7 | Das Apple visionOS-Betriebssystem. |
QOperatingSystemVersion::Windows | 1 | Das Microsoft Windows-Betriebssystem. |
QOperatingSystemVersion::Unknown | 0 | Ein unbekanntes oder nicht unterstütztes Betriebssystem. |
Dokumentation der Mitgliedsfunktionen
[constexpr]
QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = -1, int vmicro = -1)
Konstruiert eine QOperatingSystemVersion, die aus dem Betriebssystemtyp osType und den Haupt-, Neben- und Mikroversionsnummern vmajor, vminor bzw. vmicro besteht.
[static]
QOperatingSystemVersion QOperatingSystemVersion::current()
Gibt ein QOperatingSystemVersion zurück, das das aktuelle Betriebssystem und seine Versionsnummer angibt.
Siehe auch currentType().
[static constexpr]
QOperatingSystemVersion::OSType QOperatingSystemVersion::currentType()
Gibt den aktuellen OS-Typ zurück, ohne eine Instanz von QOperatingSystemVersion zu erzeugen.
Siehe auch current().
bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<QOperatingSystemVersion::OSType> types) const
Gibt zurück, ob der durch QOperatingSystemVersion identifizierte Betriebssystemtyp mit einem der Betriebssystemtypen in types übereinstimmt.
[constexpr]
int QOperatingSystemVersion::majorVersion() const
Gibt die Hauptversionsnummer zurück, d.h. das erste Segment der Versionsnummer des Betriebssystems.
Die Hauptversionsnummer eines bestimmten Betriebssystems ist in der Dokumentation der Hauptklasse angegeben.
-1 weist auf eine unbekannte oder fehlende Versionsnummernkomponente hin.
Siehe auch version(), minorVersion(), und microVersion().
[constexpr]
int QOperatingSystemVersion::microVersion() const
Gibt die Mikro-Versionsnummer zurück, d.h. das dritte Segment der Versionsnummer des Betriebssystems.
Siehe die Dokumentation der Hauptklasse, um zu erfahren, wie die Mikro-Versionsnummer auf einem bestimmten Betriebssystem lautet.
-1 zeigt eine unbekannte oder fehlende Versionsnummernkomponente an.
Siehe auch version(), majorVersion(), und minorVersion().
[constexpr]
int QOperatingSystemVersion::minorVersion() const
Gibt die Nebenversionsnummer zurück, d.h. das zweite Segment der Versionsnummer des Betriebssystems.
Die Minor-Versionsnummer eines bestimmten Betriebssystems ist in der Dokumentation der Hauptklasse angegeben.
-1 zeigt eine unbekannte oder fehlende Versionsnummernkomponente an.
Siehe auch version(), majorVersion(), und microVersion().
QString QOperatingSystemVersion::name() const
Gibt eine String-Repräsentation des durch QOperatingSystemVersion identifizierten Betriebssystemtyps zurück.
Siehe auch type().
[constexpr]
int QOperatingSystemVersion::segmentCount() const
Gibt die Anzahl der in der Versionsnummer gespeicherten Ganzzahlen zurück.
[constexpr]
QOperatingSystemVersion::OSType QOperatingSystemVersion::type() const
Gibt den durch QOperatingSystemVersion identifizierten Betriebssystemtyp zurück.
Siehe auch name().
[since 6.1]
QVersionNumber QOperatingSystemVersion::version() const
Gibt die Versionsnummer des Betriebssystems zurück.
Siehe die Dokumentation der Hauptklasse, um zu erfahren, wie die Versionsnummer auf einem bestimmten Betriebssystem lautet.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch majorVersion(), minorVersion(), und microVersion().
Dokumentation der Mitgliedsvariablen
[since 6.1]
const QOperatingSystemVersion QOperatingSystemVersion::Android10
Diese Variable enthält eine Version, die Android 10 (Version 10.0, API Level 29) entspricht.
Diese Dokumentation wurde in Qt 6.1 eingeführt.
[since 6.1]
const QOperatingSystemVersion QOperatingSystemVersion::Android11
Diese Variable enthält eine Version, die Android 11 entspricht (Version 11.0, API Level 30).
Diese Dokumentation wurde in Qt 6.1 eingeführt.
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::Android12
Diese Variable enthält eine Version, die Android 12 entspricht (Version 12.0, API Level 31).
Diese Dokumentation wurde in Qt 6.5 eingeführt.
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::Android13
Diese Variable enthält eine Version, die Android 13 entspricht (Version 13.0, API Level 33).
Diese Dokumentation wurde in Qt 6.5 eingeführt.
[since 6.7]
const QOperatingSystemVersionBase QOperatingSystemVersion::Android14
Diese Variable enthält eine Version, die Android 14 (Version 14.0, API Level 34) entspricht.
Diese Dokumentation wurde in Qt 6.7 eingeführt.
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::Android12L
Diese Variable enthält eine Version, die Android 12L (Version 12.0, API Level 32) entspricht.
Diese Dokumentation wurde in Qt 6.5 eingeführt.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean
Diese Variable enthält eine Version, die Android Jelly Bean entspricht (Version 4.1, API-Level 16).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR1
Diese Variable enthält eine Version, die Android Jelly Bean, Wartungsversion 1 (Version 4.2, API-Level 17) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidJellyBean_MR2
Diese Variable enthält eine Version, die Android Jelly Bean, Wartungsversion 2 (Version 4.3, API-Ebene 18) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidKitKat
Diese Variable enthält eine Version, die Android KitKat entspricht (Versionen 4.4 & 4.4W, API Level 19 & 20).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop
Diese Variable enthält eine Version, die Android Lollipop entspricht (Version 5.0, API-Level 21).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidLollipop_MR1
Diese Variable enthält eine Version, die Android Lollipop, Wartungsversion 1 (Version 5.1, API-Ebene 22) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidMarshmallow
Diese Variable enthält eine Version, die Android Marshmallow entspricht (Version 6.0, API-Level 23).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat
Diese Variable enthält eine Version, die Android Nougat entspricht (Version 7.0, API-Level 24).
const QOperatingSystemVersion QOperatingSystemVersion::AndroidNougat_MR1
Diese Variable enthält eine Version, die Android Nougat, Wartungsversion 1 (Version 7.0, API-Ebene 25) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo
Diese Variable enthält eine Version, die Android Oreo entspricht (Version 8.0, API-Level 26).
[since 6.1]
const QOperatingSystemVersion QOperatingSystemVersion::AndroidOreo_MR1
Diese Variable enthält eine Version, die Android Oreo_MR1 (Version 8.1, API-Level 27) entspricht.
Diese Dokumentation wurde in Qt 6.1 eingeführt.
[since 6.1]
const QOperatingSystemVersion QOperatingSystemVersion::AndroidPie
Diese Variable enthält eine Version, die Android Pie (Version 9.0, API-Level 28) entspricht.
Diese Dokumentation wurde in Qt 6.1 eingeführt.
[since 6.0]
const QOperatingSystemVersion QOperatingSystemVersion::MacOSBigSur
Diese Variable enthält eine Version, die macOS Big Sur (Version 11) entspricht.
Diese Dokumentation wurde in Qt 6.0 eingeführt.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSCatalina
Diese Variable enthält eine Version, die der von macOS Catalina (Version 10.15) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSHighSierra
Diese Variable enthält eine Version, die macOS High Sierra (Version 10.13) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSMojave
Diese Variable enthält eine Version, die macOS Mojave (Version 10.14) entspricht.
[since 6.3]
const QOperatingSystemVersion QOperatingSystemVersion::MacOSMonterey
Diese Variable enthält eine Version, die der von macOS Monterey (Version 12) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.8]
const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSequoia
Diese Variable enthält eine Version, die macOS Sequoia (Version 15) entspricht.
Diese Dokumentation wurde in Qt 6.8 eingeführt.
const QOperatingSystemVersion QOperatingSystemVersion::MacOSSierra
Diese Variable enthält eine Version, die macOS Sierra (Version 10.12) entspricht.
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSSonoma
Diese Variable enthält eine Version, die macOS Sonoma (Version 14) entspricht.
Diese Dokumentation wurde in Qt 6.5 eingeführt.
[since 6.4]
const QOperatingSystemVersionBase QOperatingSystemVersion::MacOSVentura
Diese Variable enthält eine Version, die der von macOS Ventura (Version 13) entspricht.
Diese Dokumentation wurde in Qt 6.4 eingeführt.
const QOperatingSystemVersion QOperatingSystemVersion::OSXElCapitan
Diese Variable enthält eine Version, die OS X El Capitan (Version 10.11) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::OSXMavericks
Diese Variable enthält eine Version, die OS X Mavericks (Version 10.9) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::OSXYosemite
Diese Variable enthält eine Version, die OS X Yosemite (Version 10.10) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::Windows7
Diese Variable enthält eine Version, die der von Windows 7 (Version 6.1) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::Windows8
Diese Variable enthält eine Version, die der von Windows 8 (Version 6.2) entspricht.
const QOperatingSystemVersion QOperatingSystemVersion::Windows10
Diese Variable enthält eine Version, die dem allgemeinen Windows 10 (Version 10.0) entspricht.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11
Diese Variable enthält eine Version, die der ersten Version von Windows 11 (Version 10.0.22000) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1809
Diese Variable enthält eine Version, die der Windows 10 Oktober 2018 Update Version 1809 (Version 10.0.17763) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1903
Diese Variable enthält eine Version, die der Windows 10 Mai 2019 Update Version 1903 (Version 10.0.18362) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_1909
Diese Variable enthält eine Version, die der Windows 10 November 2019 Update Version 1909 (Version 10.0.18363) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_20H2
Diese Variable enthält eine Version, die der Windows 10 Oktober 2020 Update Version 20H2 (Version 10.0.19042) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_2004
Diese Variable enthält eine Version, die der Windows 10 Mai 2020 Update Version 2004 (Version 10.0.19041) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H1
Diese Variable enthält eine Version, die der Windows 10 Mai 2021 Update Version 21H1 (Version 10.0.19043) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.3]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_21H2
Diese Variable enthält eine Version, die der Windows 10 November 2021 Update Version 21H2 (Version 10.0.19044) entspricht.
Diese Dokumentation wurde in Qt 6.3 eingeführt.
[since 6.5]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows10_22H2
Diese Variable enthält eine Version, die der Windows 10 Oktober 2022 Update Version 22H2 (Version 10.0.19045) entspricht.
Diese Dokumentation wurde in Qt 6.5 eingeführt.
[since 6.4]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_21H2
Diese Variable enthält eine Version, die der Windows 11 Version 21H2 (Version 10.0.22000) entspricht.
Diese Dokumentation wurde in Qt 6.4 eingeführt.
[since 6.4]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_22H2
Diese Variable enthält eine Version, die der Windows 11 Version 22H2 (Version 10.0.22621) entspricht.
Diese Dokumentation wurde in Qt 6.4 eingeführt.
[since 6.6]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_23H2
Diese Variable enthält eine Version, die der Windows 11 Version 23H2 (Version 10.0.22631) entspricht.
Diese Dokumentation wurde in Qt 6.6 eingeführt.
[since 6.8.1]
const QOperatingSystemVersionBase QOperatingSystemVersion::Windows11_24H2
Diese Variable enthält eine Version, die der Windows 11 Version 24H2 (Version 10.0.26100) entspricht.
Diese Dokumentation wurde in Qt 6.8.1 eingeführt.
const QOperatingSystemVersion QOperatingSystemVersion::Windows8_1
Diese Variable enthält eine Version, die der von Windows 8.1 (Version 6.3) entspricht.
© 2025 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.