Sur cette page

<QtGlobal> - Global Qt Declarations

Le fichier d'en-tête <QtGlobal> inclut toute une série d'autres fichiers d'en-tête. En savoir plus...

Header: #include <QtGlobal>

Macros

Description détaillée

Jusqu'à Qt 6.5, la plupart des fichiers d'en-tête Qt incluaient <QtGlobal>. Avant Qt 6.5, <QtGlobal> définissait un ensemble de déclarations globales. La plupart d'entre elles ont été déplacées, à partir de Qt 6.5, vers des en-têtes distincts, afin que le code source puisse n'inclure que ce dont il a besoin, plutôt que l'ensemble complet. Pour l’instant, <QtGlobal> inclut ces autres en-têtes (voir la section suivante), mais les futures versions de Qt pourraient supprimer certains de ces en-têtes de <QtGlobal> ou subordonner leur inclusion à une vérification de version. De même, dans les futures versions, certains en-têtes Qt qui incluent actuellement <QtGlobal> pourraient cesser de le faire. L’objectif est d’améliorer les temps de compilation en évitant les déclarations globales lorsqu’elles ne sont pas utilisées.

Liste des en-têtes extraits de <QtGlobal>

Fichier d'en-têteRésumé
<QFlags>Méthode sans risque de type pour combiner des valeurs d'énumération
<QForeach>Implémentation par Qt des boucles « foreach » et « forever »
<QFunctionPointer>Typedef pour un type « pointeur vers une fonction »
<QApplicationStatic>Pour Q_APPLICATION_STATIC
<QGlobalStatic>Initialisation sans risque de conflit de threads d’objets statiques globaux
<QOverload>Aides à la résolution des surcharges de fonctions membres
<QSysInfo>Une classe d'aide pour obtenir des informations sur le système
<QTypeInfo>Aides permettant d’obtenir des informations sur les types
<QtAssert>Q_ASSERT et d'autres vérifications à l'exécution
<QtClassHelperMacros>Macros d'aide pour les classes Qt
<QtCompilerDetection>Définitions de macros spécifiques au compilateur
<QtDeprecationMarkers>Macros d'aide à la dépréciation
<QtEnvironmentVariables>Aides pour l'utilisation des variables d'environnement
<QtExceptionHandling>Macros d'aide pour la gestion des exceptions
<QtLogging>Aides à la journalisation Qt
<QtMalloc>Aides à l'allocation de mémoire
<QtMinMax>Aides à la comparaison de valeurs
<QtNumeric>Diverses fonctions numériques
<QtPreprocessorSupport>Macros d'aide au préprocesseur
<QtProcessorDetection>Définitions de macros spécifiques à l'architecture
<QtResource>Aides à l'initialisation et au nettoyage des ressources
<QtSwap>Implémentation de la fonction ` qSwap()`
<QtSystemDetection>Définitions de macros spécifiques à la plateforme
<QtTranslation>Aides à la traduction Qt
<QtTypeTraits>Traits de types Qt
<QtTypes>Déclarations de types fondamentaux Qt
<QtVersionChecks>QT_VERSION_CHECK et vérifications associées
<QtVersion>QT_VERSION_STR et qVersion()

Documentation sur les macros

[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO

La définition de cette macro désactivera un certain nombre d'API Qt jugées sous-optimales ou dangereuses.

La valeur de cette macro doit correspondre à une version de Qt, en utilisant le format de notation de QT_VERSION_CHECK. Par exemple, pour la définir sur Qt 6.6, définissez QT_ENABLE_STRICT_MODE_UP_TO=0x060600. Cela désactivera uniquement les API introduites dans les versions antérieures à la version Qt spécifiée (celle-ci incluse).

Si la macro QT_DISABLE_DEPRECATED_UP_TO n’ est pas définie, alors QT_ENABLE_STRICT_MODE_UP_TO la définira également, avec la même valeur.

Cette macro doit toujours être définie sur la version minimale de Qt que votre projet souhaite prendre en charge.

Les API désactivées par cette macro sont répertoriées dans le tableau ci-dessous, avec la valeur minimale à utiliser pour les désactiver.

VersionAPI désactivées
6.0.0foreach (voir QT_NO_FOREACH)
6.0.0QString Conversions vers const char * / QByteArray (voir QT_NO_CAST_TO_ASCII)
6.0.0QByteArray conversions implicites vers const char * (voir QT_NO_CAST_FROM_BYTEARRAY)
6.0.0QUrl Conversions implicites depuis QString (voir QT_NO_URL_CAST_FROM_STRING)
6.0.0Autorisation des conversions par rétrécissement dans les connexions signal-slot (voir QT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
6.0.0Itérateurs de type Java pour les conteneurs Qt
6.6.0La fonction qExchange() (voir QT_NO_QEXCHANGE)
6.7.0Surchargements de QObject::connect qui ne prennent pas d’objet de contexte (voir QT_NO_CONTEXTLESS_CONNECT)
6.8.0La fonction qAsConst() (voir QT_NO_QASCONST)
6.8.0Les fonctions ` open() ` des classes d’E/S liées aux fichiers sont marquées [[nodiscard]] (voir QT_USE_NODISCARD_FILE_OPEN)
6.9.0Les fonctions qsnprintf() et qvnprintf() (voir QT_NO_QSNPRINTF).
6.12.0L'alias de type QPair et le modèle de fonction qMakePair() (utilisez std::pair/std::make_pair).
6.12.0Certaines inclusions transitives dans les en-têtes publics de Qt (incluez vous-même ce dont vous avez besoin).
6.12.0Prise en charge des arguments const QMetaObject::Connection dans QObject::disconnect() (voir QT_NO_DISCONNECT_CONST_CONNECTION)
6.12.0Prise en charge des surcharges de ` qHash ` sans valeur de départ (voir QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD).

De plus, certaines API peuvent également être désactivées dans le cadre de la configuration de ` QT_DISABLE_DEPRECATED_UP_TO`. Veuillez vous reporter à la documentation de chaque classe pour plus de détails.

Cette macro a été introduite dans Qt 6.8.

Voir également QT_DISABLE_DEPRECATED_UP_TO, QT_NO_KEYWORDS et QT_VERSION_CHECK.

[since 6.0] QT_NO_FOREACH

La définition de cette macro désactive la boucle « foreach » de Qt XML.

Cette macro a été introduite dans Qt 6.0.

Voir également QT_NO_KEYWORDS.

QT_NO_KEYWORDS

Définissez cette macro pour désactiver les mots-clés spécifiques à Qt qui sont généralement activés, tels que signals et slots. Utilisez plutôt Q_SIGNALS et Q_SLOTS.

Les bibliothèques doivent définir cette macro pour s'assurer qu'elles n'utilisent pas les mots-clés génériques sans le préfixe Q_ dans leurs en-têtes publics.

Voir également 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.