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:

PlattformenWert
AndroidErgebnis 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-PlattformenmajorVersion minorVersion, und patchVersion von NSProcessInfo.operatingSystemVersion
WindowsdwMajorVersion, 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):

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.

KonstanteWertBeschreibung
QOperatingSystemVersion::Android6Das Google Android-Betriebssystem.
QOperatingSystemVersion::IOS3Das Apple iOS-Betriebssystem.
QOperatingSystemVersion::MacOS2Das Apple-Betriebssystem macOS.
QOperatingSystemVersion::TvOS4Das Apple-Betriebssystem tvOS.
QOperatingSystemVersion::WatchOS5Das Apple watchOS-Betriebssystem.
QOperatingSystemVersion::VisionOS7Das Apple visionOS-Betriebssystem.
QOperatingSystemVersion::Windows1Das Microsoft Windows-Betriebssystem.
QOperatingSystemVersion::Unknown0Ein 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.