<QtGlobal> - Global Qt Declarations
El archivo de cabecera <QtGlobal> incluye un surtido de otras cabeceras. Más...
| Header: | #include <QtGlobal> |
Macros
(since 6.8) | QT_ENABLE_STRICT_MODE_UP_TO |
(since 6.0) | QT_NO_FOREACH |
| QT_NO_KEYWORDS |
Descripción detallada
Hasta Qt 6.5, la mayoría de los archivos de cabecera de Qt incluían <QtGlobal>. Antes de Qt 6.5, <QtGlobal> definía un surtido de declaraciones globales. La mayoría de éstas se han movido, en Qt 6.5, a cabeceras separadas, para que el código fuente pueda incluir sólo lo que necesita, en lugar de todo el surtido. Por ahora, <QtGlobal> incluye esas otras cabeceras (ver siguiente sección), pero futuras versiones de Qt pueden eliminar algunas de estas cabeceras de <QtGlobal> o condicionar su inclusión a una comprobación de versión. Del mismo modo, en futuras versiones, algunas cabeceras de Qt que actualmente incluyen <QtGlobal> pueden dejar de hacerlo. La esperanza es que esto mejore los tiempos de compilación al evitar las declaraciones globales cuando no se utilicen.
Lista de cabeceras extraídas de <QtGlobal>
| Cabecera | Resumen |
|---|---|
| <QFlags> | Forma segura de combinar valores enum |
| <QForeach> | Implementación de Qt de los bucles foreach y forever |
| <QFunctionPointer> | Typedef para un tipo de puntero a función |
| <QApplicationStatic> | Para Q_APPLICATION_STATIC |
| <QGlobalStatic> | Inicialización segura de objetos estáticos globales |
| <QOverload> | Ayudantes para resolver las sobrecargas de funciones miembro |
| <QSysInfo> | Una clase de ayuda para obtener información del sistema |
| <QTypeInfo> | Ayudantes para obtener información de tipo |
| <QtAssert> | Q_ASSERT y otras comprobaciones en tiempo de ejecución |
| <QtClassHelperMacros> | Macros de ayuda de clase Qt |
| <QtCompilerDetection> | Definiciones de macros específicas del compilador |
| <QtDeprecationMarkers> | Macros de ayuda para la eliminación |
| <QtEnvironmentVariables> | Ayudantes para trabajar con variables de entorno |
| <Manejo de excepciones Qt> | Ayudantes para el manejo de excepciones |
| <QtLogging> | Ayudantes de registro de Qt |
| <QtMalloc> | Ayudantes para la asignación de memoria |
| <QtMinMax> | Ayudantes para la comparación de valores |
| <QtNumeric> | Varias funciones numéricas |
| <QtPreprocessorSupport> | Macros de ayuda del preprocesador |
| <QtProcessorDetection> | Definiciones de macros específicas de la arquitectura |
| <QtResource> | Ayudantes para inicializar y limpiar recursos |
| <QtSwap> | Implementación de qSwap() |
| <QtSystemDetection> | Definiciones de macros específicas de la plataforma |
| <QtTranslation> | Ayudantes de traducción Qt |
| <QtTypeTraits> | Rasgos de tipo Qt |
| <QtTypes> | Declaraciones de tipos fundamentales de Qt |
| <QtVersionChecks> | QT_VERSION_CHECK y comprobaciones relacionadas |
| <QtVersion> | QT_VERSION_STR y qVersion() |
Documentación de macros
[since 6.8] QT_ENABLE_STRICT_MODE_UP_TO
Al definir esta macro se desactivarán una serie de APIs de Qt que se consideran subóptimas o peligrosas.
El valor de esta macro debe establecerse en una versión de Qt, utilizando la codificación de QT_VERSION_CHECK. Por ejemplo, para establecerla en Qt 6.6, defina QT_ENABLE_STRICT_MODE_UP_TO=0x060600. Esto desactivará sólo las APIs introducidas en versiones hasta (e incluyendo) la versión de Qt especificada.
Si la macro QT_DISABLE_DEPRECATED_UP_TO no está definida, entonces QT_ENABLE_STRICT_MODE_UP_TO la definirá también, con el mismo valor.
Esta macro debería definirse siempre con la versión mínima de Qt que su proyecto quiera soportar.
Las APIs deshabilitadas por esta macro se listan en la siguiente tabla, junto con el valor mínimo a usar para deshabilitarlas.
| Versión | APIs deshabilitadas |
|---|---|
| 6.0.0 | foreach (véase QT_NO_FOREACH) |
| 6.0.0 | QString conversiones hacia const char * / QByteArray (véase QT_NO_CAST_TO_ASCII) |
| 6.0.0 | QByteArray conversiones implícitas hacia const char * (véase QT_NO_CAST_FROM_BYTEARRAY) |
| 6.0.0 | QUrl conversiones implícitas desde QString (véase QT_NO_URL_CAST_FROM_STRING) |
| 6.0.0 | Permitir conversiones de estrechamiento en conexiones de ranura de señal (véase QT_NO_NARROWING_CONVERSIONS_IN_CONNECT) |
| 6.0.0 | Iteradores estilo Java para contenedores Qt |
| 6.6.0 | La función qExchange() (véase QT_NO_QEXCHANGE) |
| 6.7.0 | Sobrecargas de QObject::connect que no toman un objeto de contexto (véase QT_NO_CONTEXTLESS_CONNECT) |
| 6.8.0 | La función qAsConst() (véase QT_NO_QASCONST) |
| 6.8.0 | Las clases de E/S relacionadas con archivos tienen sus funciones open() marcadas como [[nodiscard]] (véase QT_USE_NODISCARD_FILE_OPEN) |
| 6.9.0 | Las funciones qsnprintf() y qvnprintf() (véase QT_NO_QSNPRINTF). |
| 6.11.0 | Soporte para las sobrecargas qHash sin semilla (véase QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD). |
Además, las API individuales también pueden deshabilitarse como parte de la configuración de QT_DISABLE_DEPRECATED_UP_TO. Consulte la documentación de cada clase para obtener más detalles.
Esta macro se introdujo en Qt 6.8.
Véase también QT_DISABLE_DEPRECATED_UP_TO, QT_NO_KEYWORDS, y QT_VERSION_CHECK.
[since 6.0] QT_NO_FOREACH
Definir esta macro elimina la disponibilidad del bucle foreach de Qt.
Esta macro se introdujo en Qt 6.0.
Véase también QT_NO_KEYWORDS.
QT_NO_KEYWORDS
Defina esta macro para desactivar las palabras clave específicas de Qt que suelen estar activadas, como signals y slots. Utilice Q_SIGNALS y Q_SLOTS en su lugar.
Las bibliotecas deberían definir esta macro para asegurarse de que no utilizan las palabras clave genéricas sin el prefijo Q_ en sus cabeceras públicas.
Véase también 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.