<QtGlobal> - Global Qt Declarations

Die <QtGlobal>-Header-Datei enthält eine Reihe von anderen Headern. Mehr...

Header: #include <QtGlobal>

Makros

Detaillierte Beschreibung

Bis zu Qt 6.5 enthielten die meisten Qt-Header-Dateien <QtGlobal>. Vor Qt 6.5 definierte <QtGlobal> eine Reihe von globalen Deklarationen. Die meisten dieser Deklarationen wurden mit Qt 6.5 in separate Headerdateien ausgelagert, so dass der Quellcode nur noch das enthält, was er braucht, und nicht mehr das ganze Sortiment. Im Moment enthält <QtGlobal> diese anderen Header (siehe nächster Abschnitt), aber zukünftige Versionen von Qt könnten einige dieser Header aus <QtGlobal> entfernen oder ihre Einbeziehung von einer Versionsprüfung abhängig machen. Ebenso können in zukünftigen Versionen einige Qt-Header, die derzeit <QtGlobal> enthalten, dies nicht mehr tun. Die Hoffnung ist, dass dies die Kompilierungszeiten verbessert, indem globale Deklarationen vermieden werden, wenn sie nicht verwendet werden.

Liste der von <QtGlobal> extrahierten Header

KopfzeileZusammenfassung
<QFlags>Typsichere Art der Kombination von Enum-Werten
<QForeach>Qt's Implementierung von foreach- und forever-Schleifen
<QFunctionPointer>Typedef für einen Zeiger-auf-Funktionen-Typ
<QApplicationStatic>Für Q_APPLICATION_STATIC
<QGlobalStatic>Thread-sichere Initialisierung von globalen statischen Objekten
<QOverload>Hilfsmittel für die Auflösung von Überladungen von Mitgliedsfunktionen
<QSysInfo>Eine Hilfsklasse zum Abrufen von Systeminformationen
<QTypeInfo>Hilfsklassen zum Abrufen von Typinformationen
<QtAssert>Q_ASSERT und andere Laufzeitprüfungen
<QtClassHelperMacros>Qt-Klassen-Helfer-Makros
<QtCompilerDetection>Compiler-spezifische Makro-Definitionen
<QtDeprecationMarkers>Auslaufende Hilfsmakros
<QtEnvironmentVariables>Hilfsprogramme für die Arbeit mit Umgebungsvariablen
<QtExceptionHandling>Hilfsprogramme für die Ausnahmebehandlung
<QtLogging>Qt-Protokollierungs-Hilfsfunktionen
<QtMalloc>Helfer für die Speicherzuweisung
<QtMinMax>Hilfsprogramme für den Vergleich von Werten
<QtNumeric>Verschiedene numerische Funktionen
<QtPreprocessorSupport>Hilfsmakros für den Präprozessor
<QtProcessorDetection>Architektur-spezifische Makro-Definitionen
<QtResource>Hilfsfunktionen für die Initialisierung und Bereinigung von Ressourcen
<QtSwap>Implementierung von qSwap()
<QtSystemDetection>Plattformspezifische Makro-Definitionen
<QtTranslation>Qt-Übersetzungshilfsmittel
<QtTypeTraits>Qt-Typ-Eigenschaften
<QtTypes>Qt grundlegende Typendeklarationen
<QtVersionChecks>QT_VERSION_CHECK und zugehörige Prüfungen
<QtVersion>QT_VERSION_STR und qVersion()

Makro-Dokumentation

[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO

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

Der Wert dieses Makros muss auf eine Qt-Version gesetzt werden, wobei die Kodierung von QT_VERSION_CHECK verwendet wird. Um es zum Beispiel auf Qt 6.6 zu setzen, definieren Sie QT_ENABLE_STRICT_MODE_UP_TO=0x060600. Dadurch werden nur die APIs deaktiviert, die in Versionen bis zu (und einschließlich) der angegebenen Qt-Version eingeführt wurden.

Wenn das QT_DISABLE_DEPRECATED_UP_TO Makro nicht definiert ist, dann wird es durch QT_ENABLE_STRICT_MODE_UP_TO auf den gleichen Wert gesetzt.

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

Die APIs, die durch dieses Makro deaktiviert werden, sind in der folgenden Tabelle aufgelistet, zusammen mit dem Mindestwert, der zu verwenden ist, 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.0Zulassen von Verengungskonvertierungen in Signalsteckplatzverbindungen (siehe QT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
6.0.0Java-ähnliche Iteratoren für Qt-Container
6.6.0Die Funktion qExchange() (siehe QT_NO_QEXCHANGE)
6.7.0Überladungen von QObject::connect, die kein Kontextobjekt benötigen (siehe QT_NO_CONTEXTLESS_CONNECT)
6.8.0Die Funktion qAsConst() (siehe QT_NO_QASCONST)
6.8.0Dateibezogene I/O-Klassen haben ihre open() Funktionen mit [[nodiscard]] gekennzeichnet (siehe QT_USE_NODISCARD_FILE_OPEN)
6.9.0Die Funktionen qsnprintf() und qvnprintf() (siehe QT_NO_QSNPRINTF).

Darüber hinaus können einzelne APIs auch als Teil der Einstellung von QT_DISABLE_DEPRECATED_UP_TO deaktiviert werden. Bitte lesen Sie die Dokumentation der jeweiligen Klasse für weitere Details.

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 foreach Schleife von Qt aufgehoben.

Dieses Makro wurde in Qt 6.0 eingeführt.

Siehe auch QT_NO_KEYWORDS.

QT_NO_KEYWORDS

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

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

Siehe auch QT_NO_FOREACH.

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