<QtTypes> - Qt Type Declarations
Le fichier d'en-tête <QtTypes> contient les déclarations des types fondamentaux de Qt. En savoir plus...
| Header: | #include <QtTypes> |
Types
| qint8 | |
| qint16 | |
| qint32 | |
| qint64 | |
(since 6.6) | qint128 |
| qintptr | |
| qlonglong | |
| qptrdiff | |
| qreal | |
| qsizetype | |
| quint8 | |
| quint16 | |
| quint32 | |
| quint64 | |
(since 6.6) | quint128 |
| quintptr | |
| qulonglong | |
| uchar | |
| uint | |
| ulong | |
| ushort |
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) |
Description détaillée
Ce fichier d'en-tête déclare plusieurs définitions de types garantissant une taille en bits spécifiée sur toutes les plateformes prises en charge par Qt pour divers types de base. Par exemple, ` qint8 `, qui est un `signed char` dont la taille est garantie à 8 bits sur toutes les plateformes prises en charge par Qt. Ce fichier d'en-tête déclare également la définition de type ` qlonglong ` pour ` long long int`.
Plusieurs définitions de types pratiques sont déclarées : ` qreal ` pour ` double ` ou ` float`, ` uchar ` pour ` unsigned char`, ` uint ` pour ` unsigned int`, ` ulong ` pour ` unsigned long ` et ` ushort ` pour ` unsigned short`.
L'en-tête fournit également une série de macros qui permettent d'afficher certains alias de types Qt (qsizetype, qintptr, etc.) via une fonction de sortie formatée telle que printf() ou qDebug sans générer d'avertissements de formatage et sans nécessiter de conversion de type.
Documentation sur les types
qint8
Définition de type pour ` signed char`. Ce type est garanti d'être à 8 bits sur toutes les plateformes prises en charge par Qt.
qint16
Définition de type pour ` signed short`. Ce type est garanti d'être de 16 bits sur toutes les plateformes prises en charge par Qt.
qint32
Définition de type pour ` signed int`. Ce type est garanti d'être de 32 bits sur toutes les plateformes prises en charge par Qt.
qint64
Définition de type pour ` long long int`. Ce type est garanti d'être de 64 bits sur toutes les plateformes prises en charge par Qt.
Les littéraux de ce type peuvent être créés à l'aide de la macro ` Q_INT64_C()` :
qint64 value = Q_INT64_C(932838457459459);Voir également Q_INT64_C(), quint64 et qlonglong.
[since 6.6] qint128
Définition de type pour ` __int128 ` sur les plateformes qui le prennent en charge (Qt définit la macro ` QT_SUPPORTS_INT128 ` si tel est le cas).
Les littéraux de ce type peuvent être créés à l'aide de la macro ` Q_INT128_C()`.
Ce typedef a été introduit dans Qt 6.6.
Voir également Q_INT128_C(), Q_INT128_MIN, Q_INT128_MAX, quint128 et QT_SUPPORTS_INT128.
qintptr
Type intégral permettant de représenter des pointeurs sous la forme d'un entier signé (utile pour le hachage, etc.).
Définition de type (typedef) pour qint32 ou qint64. Ce type a la garantie d'avoir la même taille qu'un pointeur sur toutes les plateformes prises en charge par Qt. Sur un système avec des pointeurs 32 bits, `qintptr` est un `typedef` pour `qint32` ; sur un système avec des pointeurs 64 bits, `qintptr` est un `typedef` pour `qint64`.
Notez que `qintptr` est signé. Utilisez `quintptr` pour les valeurs non signées.
Pour afficher des valeurs de ce type à l’aide de fonctions de sortie formatée telles que ` printf()`, ` qDebug()`, ` QString::asprintf()` et ainsi de suite, vous pouvez utiliser les macros ` PRIdQINTPTR ` et ` PRIiQINTPTR ` comme spécificateurs de format. Elles afficheront toutes deux la valeur sous forme de nombre en base 10.
qintptr p = 123;
printf("The pointer is %" PRIdQINTPTR "\n", p);Voir également qptrdiff, qint32 et qint64.
qlonglong
Définition de type pour ` long long int ` (__int64 sous Windows). Cela correspond à ` qint64`.
Voir également qulonglong et qint64.
qptrdiff
Type intégral permettant de représenter des différences entre pointeurs.
Définition de type (typedef) pour qint32 ou qint64. Ce type a la garantie d'avoir la même taille qu'un pointeur sur toutes les plateformes prises en charge par Qt. Sur un système avec des pointeurs 32 bits, `quintptr` est un `typedef` pour `quint32` ; sur un système avec des pointeurs 64 bits, `quintptr` est un `typedef` pour `quint64`.
Notez que `qptrdiff` est signé. Utilisez `quintptr` pour les valeurs non signées.
Afin d’afficher des valeurs de ce type à l’aide de fonctions de sortie formatée telles que printf(), qDebug(), QString::asprintf() et ainsi de suite, vous pouvez utiliser les macros PRIdQPTRDIFF et PRIiQPTRDIFF comme spécificateurs de format. Elles afficheront toutes deux la valeur sous forme de nombre en base 10.
qptrdiff d = 123;
printf("The difference is %" PRIdQPTRDIFF "\n", d);Voir également quintptr, qint32 et qint64.
qreal
Définition de type pour ` double `, sauf si Qt est configuré avec l'option ` -qreal float `.
[alias] qsizetype
Type intégral fournissant l'ssize_t de Posix pour toutes les plateformes.
Ce type a une taille garantie identique à celle d’un entier de type ` size_t ` sur toutes les plateformes prises en charge par Qt.
Notez que `qsizetype` est signé. Utilisez ` size_t ` pour les valeurs non signées.
Pour afficher des valeurs de ce type à l’aide de fonctions de sortie formatée telles que ` printf()`, ` qDebug()`, ` QString::asprintf()` et autres, vous pouvez utiliser les macros ` PRIdQSIZETYPE ` et ` PRIiQSIZETYPE ` comme spécificateurs de format. Elles afficheront toutes deux la valeur sous forme de nombre en base 10.
qsizetype s = 123;
printf("The size is %" PRIdQSIZETYPE "\n", s);Voir également qptrdiff.
quint8
Définition de type pour ` unsigned char`. Ce type est garanti d'être de 8 bits sur toutes les plateformes prises en charge par Qt.
quint16
Définition de type pour ` unsigned short`. Ce type est garanti d'être de 16 bits sur toutes les plateformes prises en charge par Qt.
quint32
Définition de type pour ` unsigned int`. Ce type est garanti d'être de 32 bits sur toutes les plateformes prises en charge par Qt.
quint64
Définition de type pour ` unsigned long long int`. Ce type est garanti d'être de 64 bits sur toutes les plateformes prises en charge par Qt.
Les littéraux de ce type peuvent être créés à l'aide de la macro ` Q_UINT64_C()` :
quint64 value = Q_UINT64_C(932838457459459);Voir également Q_UINT64_C(), qint64 et qulonglong.
[since 6.6] quint128
Définition de type pour ` unsigned __int128 ` sur les plateformes qui le prennent en charge (Qt définit la macro ` QT_SUPPORTS_INT128 ` si tel est le cas).
Les littéraux de ce type peuvent être créés à l'aide de la macro ` Q_UINT128_C()`.
Ce typedef a été introduit dans Qt 6.6.
Voir également Q_UINT128_C(), Q_UINT128_MAX, qint128 et QT_SUPPORTS_INT128.
quintptr
Type intégral permettant de représenter des pointeurs sous la forme d'un entier non signé (utile pour le hachage, etc.).
Définition de type (typedef) pour quint32 ou quint64. Ce type a la garantie d'avoir la même taille qu'un pointeur sur toutes les plateformes prises en charge par Qt. Sur un système avec des pointeurs 32 bits, quintptr est un typedef pour quint32 ; sur un système avec des pointeurs 64 bits, quintptr est un typedef pour quint64.
Notez que `quintptr` est sans signe. Utilisez `qptrdiff` pour les valeurs signées.
Pour afficher des valeurs de ce type à l’aide de fonctions de sortie formatée telles que ` printf()`, ` qDebug()`, ` QString::asprintf()` et ainsi de suite, vous pouvez utiliser les macros suivantes comme spécificateurs de format :
PRIuQUINTPTR: affiche la valeur sous forme de nombre en base 10.PRIoQUINTPTR: affiche la valeur sous forme de nombre en base 8.PRIxQUINTPTR: affiche la valeur sous forme de nombre en base 16, en utilisant des lettres minusculesa-f.PRIXQUINTPTR: affiche la valeur sous forme de nombre en base 16, en utilisant des lettres majusculesA-F.
quintptr p = 123u;
printf("The pointer value is 0x%" PRIXQUINTPTR "\n", p);Voir également qptrdiff, quint32 et quint64.
qulonglong
Définition de type pour unsigned long long int (unsigned __int64 sous Windows). Cela revient au même que quint64.
Voir également quint64 et qlonglong.
uchar
Définition de type pratique pour ` unsigned char`.
uint
Définition de type pratique pour ` unsigned int`.
ulong
Définition de type pratique pour ` unsigned long`.
ushort
Définition de type pratique pour unsigned short.
Documentation sur les macros
Voir qintptr.
Ces macros ont été introduites dans Qt 6.2.
Voir qptrdiff.
Ces macros ont été introduites dans Qt 6.2.
Voir qsizetype.
Ces macros ont été introduites dans Qt 6.2.
Voir quintptr.
Ces macros ont été introduites dans Qt 6.2.
[since 6.6] QT_SUPPORTS_INT128
Qt définit cette macro ainsi que les types « qint128 » et « quint128 » si la plateforme prend en charge les types entiers de 128 bits.
Cette macro a été introduite dans Qt 6.6.
Voir également qint128, quint128, Q_INT128_C(), Q_UINT128_C(), Q_INT128_MIN, Q_INT128_MAX et Q_UINT128_MAX.
[since 6.6] qint128 Q_INT128_C(literal)
Enveloppe l'entier signé de 128 bits literal d'une manière indépendante de la plate-forme.
Remarque : contrairement à ` Q_INT64_C()`, cette macro n'est disponible qu'en C++, et non en C. En effet, les compilateurs ne fournissent pas ces littéraux en tant que constantes intégrées et le langage C ne prend pas en charge les littéraux définis par l'utilisateur.
Cette macro a été introduite dans Qt 6.6.
Voir également ` qint128`, ` Q_UINT128_C()`, ` Q_INT128_MIN`, ` Q_INT128_MAX`, ` Q_INT64_C()` et ` QT_SUPPORTS_INT128`.
[since 6.6] Q_INT128_MAX
Cette macro se développe en une constante de compilation représentant la valeur maximale pouvant être représentée dans un ` qint128`.
Cette macro est disponible aussi bien en mode C++ qu'en mode C.
Cette macro a été introduite dans Qt 6.6.
Voir également Q_INT128_MIN, Q_UINT128_MAX, qint128, Q_INT128_C et QT_SUPPORTS_INT128.
[since 6.6] Q_INT128_MIN
Cette macro se développe en une constante de compilation représentant la valeur minimale pouvant être représentée dans un ` qint128`.
Cette macro est disponible aussi bien en mode C++ qu'en mode C.
Cette macro a été introduite dans Qt 6.6.
Voir également Q_INT128_MAX, qint128, Q_INT128_C et QT_SUPPORTS_INT128.
qint64 Q_INT64_C(literal)
Enveloppe l'literal, un entier signé de 64 bits, d'une manière indépendante de la plateforme.
Exemple :
qint64 value = Q_INT64_C(932838457459459);Voir également qint64, Q_UINT64_C() et Q_INT128_C().
[since 6.6] quint128 Q_UINT128_C(literal)
Enveloppe l'entier non signé de 128 bits literal d'une manière indépendante de la plate-forme.
Remarque : contrairement à ` Q_UINT64_C()`, cette macro n'est disponible qu'en C++, et non en C. En effet, les compilateurs ne fournissent pas ces littéraux en tant que constantes intégrées et le langage C ne prend pas en charge les littéraux définis par l'utilisateur.
Cette macro a été introduite dans Qt 6.6.
Voir également quint128, Q_INT128_C(), Q_UINT128_MAX, Q_UINT64_C() et QT_SUPPORTS_INT128.
[since 6.6] Q_UINT128_MAX
Cette macro se développe en une constante de compilation représentant la valeur maximale pouvant être représentée dans un ` quint128`.
Cette macro est disponible aussi bien en mode C++ qu’en mode C.
La valeur minimale d'quint128 étant 0 (zéro), une Q_UINT128_MIN n'est ni nécessaire ni fournie.
Cette macro a été introduite dans Qt 6.6.
Voir également Q_INT128_MAX, quint128, Q_UINT128_C et QT_SUPPORTS_INT128.
quint64 Q_UINT64_C(literal)
Enveloppe l'entier non signé de 64 bits literal d'une manière indépendante de la plateforme.
Exemple :
quint64 value = Q_UINT64_C(932838457459459);Voir également quint64, Q_INT64_C() et 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.