QSysInfo Class
Die Klasse „QSysInfo“ liefert Informationen zum System. Mehr...
| Kopfzeile: | #include <QSysInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Öffentliche Typen
Statische öffentliche Mitglieder
| QByteArray | bootUniqueId() |
| QString | buildAbi() |
| QString | buildCpuArchitecture() |
| QString | currentCpuArchitecture() |
| QString | kernelType() |
| QString | kernelVersion() |
| QString | machineHostName() |
| QByteArray | machineUniqueId() |
| QString | prettyProductName() |
| QString | productType() |
| QString | productVersion() |
Detaillierte Beschreibung
- WordSize Gibt die Größe eines Zeigers für die Plattform an, auf der die Anwendung kompiliert wird.
- ByteOrder Gibt an, ob die Plattform Big-Endian oder Little-Endian ist.
Einige Konstanten sind nur auf bestimmten Plattformen definiert. Mit den Präprozessorsymbolen „ Q_OS_WIN “ und „ Q_OS_MACOS “ können Sie prüfen, ob die Anwendung unter Windows oder macOS kompiliert wird.
Siehe auch „ QLibraryInfo “.
Dokumentation zu Mitgliedstypen
enum QSysInfo::Endian
| Konstante | Wert | Beschreibung |
|---|---|---|
QSysInfo::BigEndian | 0 | Big-Endian-Byte-Reihenfolge (auch als Netzwerk-Byte-Reihenfolge bezeichnet) |
QSysInfo::LittleEndian | 1 | Little-Endian-Byte-Reihenfolge |
QSysInfo::ByteOrder | BigEndian or LittleEndian | Entspricht je nach Byte-Reihenfolge der Plattform entweder „BigEndian“ oder „LittleEndian“. |
enum QSysInfo::Sizes
Diese Enumeration liefert plattformspezifische Informationen über die Größe der von der zugrunde liegenden Architektur verwendeten Datenstrukturen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSysInfo::WordSize | (sizeof(void *)<<3) | Die Größe eines Zeigers in Bit für die Plattform, auf der die Anwendung kompiliert wird (32 oder 64). |
Dokumentation der Mitgliedsfunktionen
[static] QByteArray QSysInfo::bootUniqueId()
Gibt eine eindeutige ID für den Systemstart dieses Rechners zurück, sofern eine solche ermittelt werden kann. Konnte keine eindeutige ID ermittelt werden, gibt diese Funktion ein leeres Byte-Array zurück. Es ist davon auszugehen, dass sich dieser Wert nach jedem Systemstart ändert und als global eindeutig angesehen werden kann.
Diese Funktion ist derzeit nur für Linux- und Apple-Betriebssysteme implementiert.
Siehe auch ` machineUniqueId()`.
[static] QString QSysInfo::buildAbi()
Gibt den vollständigen Architektur-String zurück, für den Qt kompiliert wurde. Dieser String ist nützlich, um verschiedene, inkompatible Builds zu identifizieren. Er kann beispielsweise als Kennung verwendet werden, um ein Update-Paket von einem Server anzufordern.
Die von dieser Funktion zurückgegebenen Werte bleiben wie folgt stabil: Die obligatorischen Bestandteile des Ergebnisses werden sich in zukünftigen Versionen von Qt nicht ändern, optionale Suffixe können jedoch hinzugefügt werden.
Der zurückgegebene Wert setzt sich aus drei oder mehr Teilen zusammen, die durch Bindestriche („-“) getrennt sind. Diese sind:
| Komponente | Wert |
|---|---|
| CPU-Architektur | Entspricht dem Wert von ` QSysInfo::buildCpuArchitecture()` (z. B. „arm“, „i386“, „mips“ oder „x86_64“) |
| Endianness | „little_endian “ oder „big_endian “ |
| Wortgröße | Gibt an, ob es sich um eine 32- oder 64-Bit-Anwendung handelt. Mögliche Werte sind: „llp64“ (Windows 64-Bit), „lp64“ (Unix 64-Bit), „ilp32“ (32-Bit) |
| (Optional) ABI | Null oder mehr Komponenten, die verschiedene in dieser Architektur mögliche ABIs identifizieren. Derzeit verfügt Qt über optionale ABI-Komponenten für ARM- und MIPS-Prozessoren: Eine Komponente ist die Haupt-ABI (z. B. „eabi“, „o32“, „n32“, „o64“); eine weitere gibt an, ob die Aufrufkonvention Hardware-Gleitkomma-Register verwendet („hardfloat“ ist vorhanden). Wenn Qt zudem mit „ |
Siehe auch QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::buildCpuArchitecture()
Gibt die Architektur der CPU zurück, für die Qt kompiliert wurde, im Textformat. Beachten Sie, dass diese möglicherweise nicht mit der tatsächlichen CPU übereinstimmt, auf der die Anwendung ausgeführt wird, wenn eine Emulationsschicht vorhanden ist oder wenn die CPU mehrere Architekturen unterstützt (wie beispielsweise x86-64-Prozessoren, die i386-Anwendungen unterstützen). Um dies festzustellen, verwenden Sie „ currentCpuArchitecture()“.
Die von dieser Funktion zurückgegebenen Werte sind stabil und ändern sich im Laufe der Zeit nicht, sodass Anwendungen den zurückgegebenen Wert als Identifikator verwenden können – mit der Ausnahme, dass im Laufe der Zeit neue CPU-Typen hinzugefügt werden können.
Typische Rückgabewerte sind (Hinweis: Die Liste ist nicht vollständig):
- „arm“
- „arm64“
- „i386“
- „ia64“
- „mips“
- „mips64“
- „power“
- „power64“
- „sparc“
- „sparcv9“
- „x86_64“
Siehe auch QSysInfo::buildAbi() und QSysInfo::currentCpuArchitecture().
[static] QString QSysInfo::currentCpuArchitecture()
Gibt die Architektur der CPU, auf der die Anwendung ausgeführt wird, im Textformat zurück. Beachten Sie, dass diese Funktion von den vom Betriebssystem gemeldeten Informationen abhängt und die tatsächliche CPU-Architektur möglicherweise nicht erkennt, wenn das Betriebssystem diese Informationen verbirgt oder nicht bereitstellen kann. Beispielsweise kann ein 32-Bit-Betriebssystem, das auf einer 64-Bit-CPU läuft, in der Regel nicht feststellen, ob die CPU tatsächlich in der Lage ist, 64-Bit-Programme auszuführen.
Die von dieser Funktion zurückgegebenen Werte sind größtenteils stabil: Es wird versucht, sicherzustellen, dass sie über die Zeit hinweg konstant bleiben und mit den von ` buildCpuArchitecture()` zurückgegebenen Werten übereinstimmen. Aufgrund der Natur der verwendeten Betriebssystemfunktionen kann es jedoch zu Abweichungen kommen.
Typische Rückgabewerte sind (Hinweis: Die Liste ist nicht vollständig):
- „arm“
- „arm64“
- „i386“
- „ia64“
- „mips“
- „mips64“
- „power“
- „power64“
- „sparc“
- „sparcv9“
- „x86_64“
Siehe auch QSysInfo::buildAbi() und QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::kernelType()
Gibt den Typ des Betriebssystemkerns zurück, für den Qt kompiliert wurde. Es handelt sich dabei auch um den Kernel, auf dem die Anwendung ausgeführt wird, es sei denn, das Host-Betriebssystem nutzt eine Kompatibilitäts- oder Virtualisierungsschicht.
Die von dieser Funktion zurückgegebenen Werte sind stabil und ändern sich im Laufe der Zeit nicht, sodass Anwendungen sich auf den zurückgegebenen Wert als Identifikator verlassen können, mit der Ausnahme, dass im Laufe der Zeit möglicherweise neue Betriebssystemkern-Typen hinzukommen.
Unter Windows gibt diese Funktion den Typ des Windows-Kernels zurück, z. B. „winnt“. Auf Unix-Systemen gibt sie denselben Wert zurück wie die Ausgabe von ` uname -s ` (in Kleinbuchstaben).
Hinweis: Diese Funktion kann unerwartete Werte zurückgeben: Sie gibt „linux“ für alle Betriebssysteme zurück, auf denen Linux läuft (einschließlich Android), „qnx“ für alle Betriebssysteme, auf denen QNX läuft, „freebsd“ für Debian/kFreeBSD und „darwin“ für macOS und iOS. Informationen zum Produkttyp, auf dem die Anwendung ausgeführt wird, finden Sie unter productType().
Siehe auch QFileSelector, kernelVersion(), productType(), productVersion() und prettyProductName().
[static] QString QSysInfo::kernelVersion()
Gibt die Release-Version des Betriebssystemkerns zurück. Unter Windows wird die Version des NT-Kerns zurückgegeben. Auf Unix-Systemen, einschließlich Android und macOS, wird dasselbe zurückgegeben, was der Befehl „ uname -r “ zurückgeben würde. Unter VxWorks wird der numerische Teil der von kernelVersion() zurückgegebenen Zeichenfolge zurückgegeben.
Wenn die Version nicht ermittelt werden konnte, gibt diese Funktion möglicherweise eine leere Zeichenkette zurück.
Siehe auch „ kernelType()“, „ productType()“, „ productVersion()“ und „ prettyProductName()“.
[static] QString QSysInfo::machineHostName()
Gibt den Hostnamen dieses Rechners zurück, sofern einer konfiguriert ist. Beachten Sie, dass Hostnamen nicht garantiert global eindeutig sind, insbesondere wenn sie automatisch konfiguriert wurden.
Diese Funktion garantiert nicht, dass der zurückgegebene Hostname ein vollqualifizierter Domänenname (FQDN) ist. Verwenden Sie hierfür „ QHostInfo “, um den zurückgegebenen Namen in einen FQDN aufzulösen.
Diese Funktion liefert dasselbe Ergebnis wie „ QHostInfo::localHostName()“.
Siehe auch „ QHostInfo::localDomainName “ und „ machineUniqueId “().
[static] QByteArray QSysInfo::machineUniqueId()
Gibt eine eindeutige ID für diesen Rechner zurück, sofern eine solche ermittelt werden kann. Konnte keine eindeutige ID ermittelt werden, gibt diese Funktion ein leeres Byte-Array zurück. Im Gegensatz zu ` machineHostName()` ist der von dieser Funktion zurückgegebene Wert höchstwahrscheinlich global eindeutig.
Eine eindeutige ID ist im Netzwerkbetrieb nützlich, um diesen Rechner über einen längeren Zeitraum hinweg zu identifizieren, wenn sich die IP-Adresse ändern könnte oder wenn dieser Rechner über mehr als eine IP-Adresse verfügen könnte. Die ID könnte beispielsweise bei der Kommunikation mit einem Server oder beim Speichern gerätespezifischer Daten in einem gemeinsam genutzten Netzwerkspeicher verwendet werden.
Beachten Sie, dass dieser Wert auf einigen Systemen auch nach einem Neustart erhalten bleibt, auf anderen hingegen nicht. Anwendungen sollten sich nicht blind auf diese Tatsache verlassen, ohne die Fähigkeiten des Betriebssystems zu überprüfen. Insbesondere auf Linux-Systemen ist diese ID in der Regel dauerhaft und stimmt mit der D-Bus-Rechner-ID überein, mit Ausnahme von Knoten ohne eigenen Speicher (replizierte Knoten).
Siehe auch machineHostName() und bootUniqueId().
[static] QString QSysInfo::prettyProductName()
Gibt eine übersichtlichere Form von ` productType()` und ` productVersion()` zurück, die weitere Angaben wie den Betriebssystemtyp, Codenamen und andere Informationen enthält. Das Ergebnis dieser Funktion eignet sich zur Anzeige für den Benutzer, jedoch nicht zur langfristigen Speicherung, da sich die Zeichenkette bei Aktualisierungen von Qt XML ändern kann.
Wenn productType() den Wert „unknown“ hat, verwendet diese Funktion stattdessen die Funktionen kernelType() und kernelVersion().
Siehe auch kernelType(), kernelVersion(), productType() und productVersion().
[static] QString QSysInfo::productType()
Gibt den Produktnamen des Betriebssystems zurück, auf dem diese Anwendung ausgeführt wird. Wenn die Anwendung auf einer Emulations- oder Virtualisierungsschicht läuft (z. B. WINE auf einem Unix-System), überprüft diese Funktion die Emulations- bzw. Virtualisierungsschicht.
Die von dieser Funktion zurückgegebenen Werte sind stabil und ändern sich im Laufe der Zeit nicht, sodass Anwendungen den zurückgegebenen Wert als Identifikator verwenden können – mit der Ausnahme, dass im Laufe der Zeit neue Betriebssystemtypen hinzugefügt werden können.
Hinweis zu Linux und Android: Diese Funktion gibt „android“ für Linux-Systeme zurück, auf denen der Android-Userspace läuft, insbesondere bei Verwendung der Bionic-Bibliothek. Bei allen anderen Linux-Systemen versucht sie, unabhängig von der verwendeten C-Bibliothek, den Namen der Distribution zu ermitteln und gibt diesen zurück. Wenn die Ermittlung des Distributionsnamens fehlschlägt, gibt sie „unknown“ zurück.
Hinweis zu macOS: Diese Funktion gibt für alle macOS-Systeme „macos“ zurück, unabhängig von den Namenskonventionen von Apple. Zuvor, in Qt 5, gab sie „osx“ zurück, ebenfalls unabhängig von den Namenskonventionen von Apple.
Hinweis zu Darwin, iOS, tvOS und watchOS: Diese Funktion gibt „ios“ für iOS-Systeme, „tvos“ für tvOS-Systeme, „watchos“ für watchOS-Systeme und „darwin“ zurück, falls das System nicht ermittelt werden konnte.
Hinweis zu FreeBSD: Diese Funktion gibt für Debian/kFreeBSD „debian“ zurück und andernfalls „unknown“.
Hinweis zu Windows: Diese Funktion gibt „windows“ zurück.
Hinweis zu VxWorks: Diese Funktion gibt „vxworks“ zurück.
Bei anderen Unix-ähnlichen Systemen gibt diese Funktion in der Regel „unknown“ zurück.
Siehe auch QFileSelector, kernelType(), kernelVersion(), productVersion() und prettyProductName().
[static] QString QSysInfo::productVersion()
Gibt die Produktversion des Betriebssystems als Zeichenfolge zurück. Wenn die Version nicht ermittelt werden konnte, gibt diese Funktion „unknown“ zurück.
Auf diesen Systemen gibt sie die vollständigen Produktversionen von Android, iOS, macOS, VxWorks und Windows zurück.
Typische Rückgabewerte sind (Hinweis: Die Liste ist nicht vollständig):
- „12“ (Android 12)
- „36“ (Fedora 36)
- „15.5“ (iOS 15.5)
- „12.4“ (macOS Monterey)
- „22.04“ (Ubuntu 22.04)
- „8.6“ (watchOS 8.6)
- „11“ (Windows 11)
- „Server 2022“ (Windows Server 2022)
- „24.03“ (VxWorks 7 – 24.03)
Auf Linux-Systemen versucht die Funktion, die Distribution-Version zu ermitteln, und gibt diese zurück. Dies geschieht auch unter Debian/kFreeBSD, sodass die Funktion in diesem Fall die Debian-Version zurückgibt.
Auf allen anderen Unix-ähnlichen Systemen gibt diese Funktion immer „unknown“ zurück.
Hinweis: Es kann nicht garantiert werden, dassdie von dieser Funktion zurückgegebene Versionszeichenfolge sortierbar ist. Unter Linux kann die Versionsnummer der Distribution unerwartet springen; bitte beachten Sie die Dokumentation der jeweiligen Distribution bezüglich der Versionsvergabe.
Siehe auch kernelType(), kernelVersion(), productType() und prettyProductName().
© 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.