<QtGlobal> - Global Qt Declarations
Le fichier d'en-tête <QtGlobal> comprend un assortiment d'autres en-têtes. Plus d'informations...
| 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 de Qt incluaient <QtGlobal>. Avant Qt 6.5, <QtGlobal> définissait un assortiment de déclarations globales. La plupart d'entre elles ont été déplacées, dans Qt 6.5, vers des en-têtes séparés, afin que le code source puisse inclure uniquement ce dont il a besoin, plutôt que tout l'assortiment. Pour l'instant, <QtGlobal> inclut ces autres en-têtes (voir la section suivante), mais les futures versions de Qt peuvent supprimer certains de ces en-têtes de <QtGlobal> ou conditionner leur inclusion à une vérification de la version. De même, dans les prochaines versions, certains en-têtes Qt qui incluent actuellement <QtGlobal> pourraient cesser de le faire. On espère ainsi 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>
| En-tête | Résumé |
|---|---|
| <QFlags> | Méthode sûre pour combiner les valeurs d'un enum |
| <QForeach> | Implémentation par Qt des boucles foreach et forever |
| <QFunctionPointer> | Typedef pour un type de pointeur vers une fonction |
| <QApplicationStatic> | Pour Q_APPLICATION_STATIC |
| <QGlobalStatic> | Initialisation des objets statiques globaux à l'épreuve des threads |
| <QOverload> | Aide à la résolution des surcharges de fonctions membres |
| <QSysInfo> | Une classe d'aide pour obtenir des informations sur le système |
| <QTypeInfo> | Des aides pour obtenir des informations sur les types |
| <QtAssert> | Q_ASSERT et d'autres vérifications au moment de l'exécution |
| <QtClassHelperMacros> | Macros d'aide de classe Qt |
| <QtCompilerDetection> | Définitions de macros spécifiques au compilateur |
| <QtDeprecationMarkers> | Macros d'aide à la dépréciation |
| <QtEnvironmentVariables> | Aides pour travailler avec les variables d'environnement |
| <QtExceptionHandling> | Aides pour la gestion des exceptions |
| <QtLogging> | Aides à la journalisation Qt |
| <QtMalloc> | Aide à l'allocation de mémoire |
| <QtMinMax> | Aides pour la comparaison de valeurs |
| <QtNumeric> | Diverses fonctions numériques |
| <QtPreprocessorSupport> | Macros d'aide du préprocesseur |
| <QtProcessorDetection> | Définitions de macros spécifiques à l'architecture |
| <QtResource> | Aides pour l'initialisation et le nettoyage des ressources |
| <QtSwap> | Implémentation de qSwap() |
| <QtSystemDetection> | Définitions de macros spécifiques à la plate-forme |
| <QtTranslation> | Aides à la traduction Qt |
| <QtTypeTraits> | Traits de type Qt |
| <QtTypes> | Déclarations de types fondamentaux Qt |
| <QtVersionChecks> | QT_VERSION_CHECK et vérifications connexes |
| <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 l'encodage de QT_VERSION_CHECK. Par exemple, pour lui donner la valeur Qt 6.6, définissez QT_ENABLE_STRICT_MODE_UP_TO=0x060600. Cela désactivera uniquement les API introduites dans les versions jusqu'à (et y compris) la version Qt spécifiée.
Si la macro QT_DISABLE_DEPRECATED_UP_TO n' est pas définie, QT_ENABLE_STRICT_MODE_UP_TO la définira également, avec la même valeur.
Cette macro doit toujours être définie à la version minimale de Qt que votre projet souhaite prendre en charge.
Les API désactivées par cette macro sont listé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 à partir de QString (voir QT_NO_URL_CAST_FROM_STRING) |
| 6.0.0 | Autorisation des conversions de rétrécissement dans les connexions de créneaux de signaux (voir QT_NO_NARROWING_CONVERSIONS_IN_CONNECT) |
| 6.0.0 | Itérateurs de style Java pour les conteneurs Qt |
| 6.6.0 | La fonction qExchange() (voir QT_NO_QEXCHANGE) |
| 6.7.0 | Surcharges 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 classes d'E/S liées aux fichiers ont leurs fonctions open() marquées [[nodiscard]] (voir QT_USE_NODISCARD_FILE_OPEN) |
| 6.9.0 | Les fonctions qsnprintf() et qvnprintf() (voir QT_NO_QSNPRINTF). |
| 6.11.0 | Prise en charge des surcharges qHash sans graine (voir QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD). |
De plus, des API individuelles peuvent également être désactivées dans le cadre de la configuration de QT_DISABLE_DEPRECATED_UP_TO. Veuillez vous référer à la documentation de chaque classe pour plus de détails.
Cette macro a été introduite dans Qt 6.8.
Voir aussi QT_DISABLE_DEPRECATED_UP_TO, QT_NO_KEYWORDS, et QT_VERSION_CHECK.
[since 6.0] QT_NO_FOREACH
La définition de cette macro supprime la disponibilité de la boucle foreach de Qt.
Cette macro a été introduite dans Qt 6.0.
Voir aussi QT_NO_KEYWORDS.
QT_NO_KEYWORDS
Définissez cette macro pour désactiver les mots-clés spécifiques à Qt XML qui sont habituellement activés, tels que signals et slots. Utilisez plutôt Q_SIGNALS et Q_SLOTS.
Les bibliothèques devraient 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 aussi 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.