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