Auf dieser Seite

<QtGlobal> - Global Qt Declarations

Die Header-Datei <QtGlobal> bindet eine Reihe weiterer Header-Dateien ein. Mehr...

Header: #include <QtGlobal>

Makros

Ausführliche Beschreibung

Bis Qt 6.5 enthielten die meisten Qt-Header-Dateien <QtGlobal>. Vor Qt 6.5 definierte <QtGlobal> eine Reihe globaler Deklarationen. Die meisten davon wurden in Qt 6.5 in separate Header-Dateien verschoben, sodass der Quellcode nur das einbinden kann, was er benötigt, anstatt die gesamte Sammlung. Derzeit enthält <QtGlobal> diese anderen Header (siehe nächster Abschnitt), aber in zukünftigen Versionen von Qt könnten einige dieser Header aus <QtGlobal> entfernt oder ihre Einbindung von einer Versionsprüfung abhängig gemacht werden. Ebenso könnten in zukünftigen Versionen einige Qt-Header, die derzeit <QtGlobal> einbinden, dies nicht mehr tun. Man hofft, dass sich dadurch die Kompilierungszeiten verbessern, da globale Deklarationen vermieden werden, wenn sie nicht verwendet werden.

Liste der aus <QtGlobal> extrahierten Header

HeaderZusammenfassung
<QFlags>Typsichere Methode zum Kombinieren von Enum-Werten
<QForeach>Qts Implementierung von foreach- und forever-Schleifen
<QFunctionPointer>Typedef für einen Zeiger-auf-Funktion-Typ
<QApplicationStatic>Für Q_APPLICATION_STATIC
<QGlobalStatic>Thread-sichere Initialisierung globaler statischer Objekte
<QOverload>Hilfsfunktionen zur Auflösung von Überladungen von Mitgliedsfunktionen
<QSysInfo>Eine Hilfsklasse zum Abrufen von Systeminformationen
<QTypeInfo>Hilfsfunktionen zum Abrufen von Typinformationen
<QtAssert>Q_ASSERT und andere Laufzeitprüfungen
<QtClassHelperMacros>Qt-Klassen-Hilfsmakros
<QtCompilerDetection>Compilerspezifische Makrodefinitionen
<QtDeprecationMarkers>Hilfsmakros für veraltete Funktionen
<QtEnvironmentVariables>Hilfsmittel für die Arbeit mit Umgebungsvariablen
<QtExceptionHandling>Hilfsmakros für die Ausnahmebehandlung
<QtLogging>Qt-Logging-Hilfsfunktionen
<QtMalloc>Hilfsfunktionen für die Speicherzuweisung
<QtMinMax>Hilfsfunktionen zum Vergleichen von Werten
<QtNumeric>Verschiedene numerische Funktionen
<QtPreprocessorSupport>Hilfsmakros für den Präprozessor
<QtProcessorDetection>Architekturspezifische Makrodefinitionen
<QtResource>Hilfsmittel zur Initialisierung und Bereinigung von Ressourcen
<QtSwap>Implementierung von ` qSwap()`
<QtSystemDetection>Plattformspezifische Makrodefinitionen
<QtTranslation>Qt-Übersetzungshilfen
<QtTypeTraits>Qt-Typ-Traits
<QtTypes>Qt-Deklarationen grundlegender Typen
<QtVersionChecks>QT_VERSION_CHECK und zugehörige Prüfungen
<QtVersion>QT_VERSION_STR sowie ` qVersion()`

Makro-Dokumentation

[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO

Durch die Definition dieses Makros werden eine Reihe von Qt-APIs deaktiviert, die als suboptimal oder gefährlich gelten.

Der Wert dieses Makros muss unter Verwendung der Kodierung von „ QT_VERSION_CHECK “ auf eine Qt-Version gesetzt werden. Um es beispielsweise auf Qt 6.6 festzulegen, definieren Sie „ QT_ENABLE_STRICT_MODE_UP_TO=0x060600 “. Dadurch werden nur die APIs deaktiviert, die in Versionen bis einschließlich der angegebenen Qt-Version eingeführt wurden.

Ist das Makro „ QT_DISABLE_DEPRECATED_UP_TO “ nicht definiert, wird es durch „QT_ENABLE_STRICT_MODE_UP_TO“ mit demselben Wert definiert.

Dieses Makro sollte immer auf die niedrigste Qt-Version gesetzt werden, die Ihr Projekt unterstützen soll.

Die durch dieses Makro deaktivierten APIs sind in der folgenden Tabelle zusammen mit dem Mindestwert aufgeführt, der verwendet werden muss, um sie zu deaktivieren.

VersionDeaktivierte APIs
6.0.0foreach (siehe QT_NO_FOREACH)
6.0.0QString Konvertierungen in Richtung const char * / QByteArray (siehe QT_NO_CAST_TO_ASCII)
6.0.0QByteArray implizite Konvertierungen in Richtung const char * (siehe QT_NO_CAST_FROM_BYTEARRAY)
6.0.0QUrl Implizite Konvertierungen von „ QString “ (siehe QT_NO_URL_CAST_FROM_STRING)
6.0.0Zulassung von Verengungskonvertierungen in Signal-Slot-Verbindungen (siehe QT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
6.0.0Iteratoren im Java-Stil für Qt-Container
6.6.0Die Funktion ` qExchange()` (siehe QT_NO_QEXCHANGE)
6.7.0Überladungen von ` QObject::connect `, die kein Kontext-Objekt entgegennehmen (siehe QT_NO_CONTEXTLESS_CONNECT)
6.8.0Die Funktion `qAsConst()` (siehe QT_NO_QASCONST)
6.8.0Bei dateibezogenen I/O-Klassen sind die „ open() “-Funktionen mit „ [[nodiscard]] “ gekennzeichnet (siehe QT_USE_NODISCARD_FILE_OPEN)
6.9.0Die Funktionen qsnprintf() und qvnprintf() (siehe QT_NO_QSNPRINTF).
6.12.0Der Typ-Alias „ QPair “ und die Funktionsvorlage „qMakePair()“ (verwenden Sie std::pair/std::make_pair).
6.12.0Bestimmte transitive Einbindungen in öffentlichen Qt-Header-Dateien (binden Sie selbst ein, was Sie benötigen).
6.12.0Unterstützung für `const QMetaObject::Connection `-Argumente in ` QObject::disconnect()` (siehe QT_NO_DISCONNECT_CONST_CONNECTION)
6.12.0Unterstützung für Überladungen von ` qHash ` ohne Startwert (siehe QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD).

Darüber hinaus können einzelne APIs im Rahmen der Einstellung von ` QT_DISABLE_DEPRECATED_UP_TO` deaktiviert werden. Weitere Details finden Sie in der Dokumentation der jeweiligen Klasse.

Dieses Makro wurde in Qt 6.8 eingeführt.

Siehe auch „ QT_DISABLE_DEPRECATED_UP_TO “, „ QT_NO_KEYWORDS “ und „ QT_VERSION_CHECK “.

[since 6.0] QT_NO_FOREACH

Durch die Definition dieses Makros wird die Verfügbarkeit der Qt-Schleife „ foreach “ aufgehoben.

Dieses Makro wurde in Qt 6.0 eingeführt.

Siehe auch „ QT_NO_KEYWORDS “.

QT_NO_KEYWORDS

Definieren Sie dieses Makro, um die normalerweise aktivierten Qt-spezifischen Schlüsselwörter wie „ signals “ und „ slots “ zu deaktivieren. Verwenden Sie stattdessen „ Q_SIGNALS “ und „ Q_SLOTS “.

Bibliotheken sollten dieses Makro definieren, um sicherzustellen, dass sie in ihren öffentlichen Headern keine generischen Schlüsselwörter ohne das Präfix „ Q_ “ verwenden.

Siehe auch QT_NO_FOREACH.

© 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.