<QtTypes> - Qt Type Declarations

El fichero de cabecera <QtTypes> incluye declaraciones de tipos fundamentales de Qt. Más...

Header: #include <QtTypes>

Tipos

Macros

(since 6.2) PRIXQUINTPTR
(since 6.2)
(since 6.2) PRIdQINTPTR
(since 6.2)
(since 6.2) PRIdQPTRDIFF
(since 6.2)
(since 6.2) PRIdQSIZETYPE
(since 6.2) PRIiQINTPTR
(since 6.2) PRIiQPTRDIFF
(since 6.2) PRIiQSIZETYPE
(since 6.2)
(since 6.2) PRIoQUINTPTR
(since 6.2) PRIuQUINTPTR
(since 6.2) PRIxQUINTPTR
(since 6.6) QT_SUPPORTS_INT128
(since 6.6) qint128 Q_INT128_C(literal)
(since 6.6) Q_INT128_MAX
(since 6.6) Q_INT128_MIN
qint64 Q_INT64_C(literal)
(since 6.6) quint128 Q_UINT128_C(literal)
(since 6.6) Q_UINT128_MAX
quint64 Q_UINT64_C(literal)

Descripción detallada

El fichero de cabecera declara varias definiciones de tipo que garantizan un tamaño de bit especificado en todas las plataformas soportadas por Qt para varios tipos básicos, por ejemplo qint8 que es un char con signo garantizado de 8 bits en todas las plataformas soportadas por Qt. El fichero de cabecera también declara la definición de tipo qlonglong para long long int.

Se declaran varias definiciones de tipos de conveniencia: qreal para double o float, uchar para unsigned char, uint para unsigned int, ulong para unsigned long y ushort para unsigned short.

La cabecera también proporciona una serie de macros que hacen posible imprimir algunos alias de tipos Qt (qsizetype, qintptr, etc.) a través de una función de salida formateada como printf() o qDebug() sin que aparezcan advertencias de formato y sin necesidad de una conversión de tipos.

Documentación de tipos

qint8

Typedef para signed char. Se garantiza que este tipo es de 8 bits en todas las plataformas soportadas por Qt.

qint16

Typedef para signed short. Se garantiza que este tipo es de 16 bits en todas las plataformas soportadas por Qt.

qint32

Typedef para signed int. Se garantiza que este tipo es de 32 bits en todas las plataformas soportadas por Qt.

qint64

Typedef para long long int. Se garantiza que este tipo es de 64 bits en todas las plataformas soportadas por Qt.

Los literales de este tipo pueden crearse utilizando la macro Q_INT64_C():

qint64 value = Q_INT64_C(932838457459459);

Véase también Q_INT64_C(), quint64, y qlonglong.

[since 6.6] qint128

Typedef para __int128 en plataformas que lo soporten (Qt define la macro QT_SUPPORTS_INT128 si este es el caso).

Los literales de este tipo pueden crearse utilizando la macro Q_INT128_C().

Este typedef se introdujo en Qt 6.6.

Véase también Q_INT128_C(), Q_INT128_MIN, Q_INT128_MAX, quint128, y QT_SUPPORTS_INT128.

qintptr

Tipo integral para representar punteros en un entero con signo (útil para hashing, etc.).

Typedef para qint32 o qint64. Se garantiza que este tipo tiene el mismo tamaño que un puntero en todas las plataformas soportadas por Qt. En un sistema con punteros de 32 bits, qintptr es un typedef para qint32; en un sistema con punteros de 64 bits, qintptr es un typedef para qint64.

Tenga en cuenta que qintptr tiene signo. Utilice quintptr para valores sin signo.

Para imprimir valores de este tipo utilizando funciones de salida formateada como printf(), qDebug(), QString::asprintf(), etc., puede utilizar las macros PRIdQINTPTR y PRIiQINTPTR como especificadores de formato. Ambas imprimirán el valor como un número de base 10.

qintptr p = 123;
printf("The pointer is %" PRIdQINTPTR "\n", p);

Véase también qptrdiff, qint32, y qint64.

qlonglong

Typedef para long long int (__int64 en Windows). Es el mismo que qint64.

Véase también qulonglong y qint64.

qptrdiff

Tipo integral para representar diferencias de punteros.

Typedef para qint32 o qint64. Se garantiza que este tipo tiene el mismo tamaño que un puntero en todas las plataformas soportadas por Qt. En un sistema con punteros de 32 bits, quintptr es un typedef para quint32; en un sistema con punteros de 64 bits, quintptr es un typedef para quint64.

Tenga en cuenta que qptrdiff tiene signo. Utilice quintptr para valores sin signo.

Para imprimir valores de este tipo utilizando funciones de salida formateada como printf(), qDebug(), QString::asprintf(), etc., puede utilizar las macros PRIdQPTRDIFF y PRIiQPTRDIFF como especificadores de formato. Ambas imprimirán el valor como un número de base 10.

qptrdiff d = 123;
printf("The difference is %" PRIdQPTRDIFF "\n", d);

Véase también quintptr, qint32, y qint64.

qreal

Typedef para double a menos que Qt esté configurado con la opción -qreal float.

[alias] qsizetype

Tipo integral que proporciona Posix' ssize_t para todas las plataformas.

Se garantiza que este tipo tiene el mismo tamaño que size_t en todas las plataformas soportadas por Qt.

Tenga en cuenta que qsizetype tiene signo. Utilice size_t para valores sin signo.

Para imprimir valores de este tipo utilizando funciones de salida formateada como printf(), qDebug(), QString::asprintf(), etc., puede utilizar las macros PRIdQSIZETYPE y PRIiQSIZETYPE como especificadores de formato. Ambas imprimirán el valor como un número de base 10.

qsizetype s = 123;
printf("The size is %" PRIdQSIZETYPE "\n", s);

Véase también qptrdiff.

quint8

Typedef para unsigned char. Se garantiza que este tipo es de 8 bits en todas las plataformas soportadas por Qt.

quint16

Typedef para unsigned short. Se garantiza que este tipo es de 16 bits en todas las plataformas soportadas por Qt.

quint32

Typedef para unsigned int. Se garantiza que este tipo es de 32 bits en todas las plataformas soportadas por Qt.

quint64

Typedef para unsigned long long int. Se garantiza que este tipo es de 64 bits en todas las plataformas soportadas por Qt.

Los literales de este tipo pueden crearse utilizando la macro Q_UINT64_C():

quint64 value = Q_UINT64_C(932838457459459);

Véase también Q_UINT64_C(), qint64, y qulonglong.

[since 6.6] quint128

Typedef para unsigned __int128 en plataformas que lo soporten (Qt define la macro QT_SUPPORTS_INT128 si este es el caso).

Los literales de este tipo pueden crearse utilizando la macro Q_UINT128_C().

Este typedef se introdujo en Qt 6.6.

Véase también Q_UINT128_C(), Q_UINT128_MAX, qint128, y QT_SUPPORTS_INT128.

quintptr

Tipo integral para representar punteros en un entero sin signo (útil para hashing, etc.).

Typedef para quint32 o quint64. Se garantiza que este tipo tiene el mismo tamaño que un puntero en todas las plataformas soportadas por Qt. En un sistema con punteros de 32 bits, quintptr es un typedef para quint32; en un sistema con punteros de 64 bits, quintptr es un typedef para quint64.

Tenga en cuenta que quintptr no tiene signo. Utilice qptrdiff para valores con signo.

Para imprimir valores de este tipo utilizando funciones de salida formateada como printf(), qDebug(), QString::asprintf(), etc., puede utilizar las siguientes macros como especificadores de formato:

  • PRIuQUINTPTRimprime el valor como un número de base 10.
  • PRIoQUINTPTRimprime el valor como un número de base 8.
  • PRIxQUINTPTRimprime el valor como un número de base 16, utilizando letras a-f minúsculas.
  • PRIXQUINTPTRimprime el valor como un número de base 16, utilizando letras mayúsculas A-F.
quintptr p = 123u;
printf("The pointer value is 0x%" PRIXQUINTPTR "\n", p);

Véase también qptrdiff, quint32, y quint64.

qulonglong

Typedef para unsigned long long int (unsigned __int64 en Windows). Es el mismo que quint64.

Véase también quint64 y qlonglong.

uchar

Typedef de conveniencia para unsigned char.

uint

Typedef de conveniencia para unsigned int.

ulong

Typedef de conveniencia para unsigned long.

ushort

Typedef de conveniencia para unsigned short.

Documentación de macros

[since 6.2] PRIdQINTPTR

[since 6.2] PRIiQINTPTR

Véase qintptr.

Estas macros se introdujeron en Qt 6.2.

[since 6.2] PRIdQPTRDIFF

[since 6.2] PRIiQPTRDIFF

Véase qptrdiff.

Estas macros se introdujeron en Qt 6.2.

[since 6.2] PRIdQSIZETYPE

[since 6.2] PRIiQSIZETYPE

Véase qsizetype.

Estas macros se introdujeron en Qt 6.2.

[since 6.2] PRIoQUINTPTR

[since 6.2] PRIuQUINTPTR

[since 6.2] PRIxQUINTPTR

[since 6.2] PRIXQUINTPTR

Véase quintptr.

Estas macros se introdujeron en Qt 6.2.

[since 6.6] QT_SUPPORTS_INT128

Qt define esta macro así como los tipos qint128 y quint128 si la plataforma tiene soporte para tipos enteros de 128 bits.

Esta macro se introdujo en Qt 6.6.

Ver también qint128, quint128, Q_INT128_C(), Q_UINT128_C(), Q_INT128_MIN, Q_INT128_MAX, y Q_UINT128_MAX.

[since 6.6] qint128 Q_INT128_C(literal)

Envuelve el entero de 128 bits con signo literal de forma independiente de la plataforma.

Nota: A diferencia de Q_INT64_C(), esta macro sólo está disponible en C++, no en C. Esto se debe a que los compiladores no proporcionan estos literales como incorporados y C no tiene soporte para literales definidos por el usuario.

Esta macro se introdujo en Qt 6.6.

Véase también qint128, Q_UINT128_C(), Q_INT128_MIN, Q_INT128_MAX, Q_INT64_C(), y QT_SUPPORTS_INT128.

[since 6.6] Q_INT128_MAX

Esta macro se expande a una constante en tiempo de compilación que representa el valor máximo representable en un qint128.

Esta macro está disponible tanto en C++ como en C.

Esta macro se introdujo en Qt 6.6.

Véase también Q_INT128_MIN, Q_UINT128_MAX, qint128, Q_INT128_C, y QT_SUPPORTS_INT128.

[since 6.6] Q_INT128_MIN

Esta macro se expande a una constante en tiempo de compilación que representa el valor mínimo representable en un qint128.

Esta macro está disponible tanto en C++ como en C.

Esta macro se introdujo en Qt 6.6.

Véase también Q_INT128_MAX, qint128, Q_INT128_C, y QT_SUPPORTS_INT128.

qint64 Q_INT64_C(literal)

Envuelve el entero de 64 bits con signo literal de forma independiente de la plataforma.

Ejemplo:

qint64 value = Q_INT64_C(932838457459459);

Véase también qint64, Q_UINT64_C(), y Q_INT128_C().

[since 6.6] quint128 Q_UINT128_C(literal)

Envuelve el entero de 128 bits sin signo literal de forma independiente de la plataforma.

Nota: A diferencia de Q_UINT64_C(), esta macro sólo está disponible en C++, no en C. Esto se debe a que los compiladores no proporcionan estos literales como incorporados y C no tiene soporte para literales definidos por el usuario.

Esta macro se introdujo en Qt 6.6.

Véase también quint128, Q_INT128_C(), Q_UINT128_MAX, Q_UINT64_C(), y QT_SUPPORTS_INT128.

[since 6.6] Q_UINT128_MAX

Esta macro se expande a una constante en tiempo de compilación que representa el valor máximo representable en un quint128.

Esta macro está disponible tanto en C++ como en C.

El mínimo de quint128 es 0 (cero), por lo que no se necesita ni se proporciona un Q_UINT128_MIN.

Esta macro se introdujo en Qt 6.6.

Véase también Q_INT128_MAX, quint128, Q_UINT128_C, y QT_SUPPORTS_INT128.

quint64 Q_UINT64_C(literal)

Envuelve el entero de 64 bits sin signo literal de forma independiente de la plataforma.

Ejemplo:

quint64 value = Q_UINT64_C(932838457459459);

Véase también quint64, Q_INT64_C(), y Q_UINT128_C().

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