<QtTypes> - Qt Type Declarations

Die <QtTypes>-Header-Datei enthält Qt-Grundtypen-Deklarationen. Mehr...

Header: #include <QtTypes>

Typen

Makros

(since 6.2)
(since 6.2)
(since 6.2)
(since 6.2)
(since 6.2) PRIXQUINTPTR
(since 6.2) PRIdQINTPTR
(since 6.2) PRIdQPTRDIFF
(since 6.2) PRIdQSIZETYPE
(since 6.2) PRIiQINTPTR
(since 6.2) PRIiQPTRDIFF
(since 6.2) PRIiQSIZETYPE
(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)

Detaillierte Beschreibung

Die Header-Datei deklariert mehrere Typ-Definitionen, die eine bestimmte Bit-Größe auf allen von Qt unterstützten Plattformen für verschiedene Grundtypen garantieren, z.B. qint8, ein vorzeichenbehaftetes Zeichen, das garantiert 8-Bit auf allen von Qt unterstützten Plattformen ist. Die Header-Datei deklariert auch die qlonglong Typdefinition für long long int.

Es werden mehrere Komfort-Typ-Definitionen deklariert: qreal für double oder float, uchar für unsigned char, uint für unsigned int, ulong für unsigned long und ushort für unsigned short.

Der Header bietet auch eine Reihe von Makros, die es ermöglichen, einige Qt-Typ-Aliase (qsizetype, qintptr, etc.) über eine formatierte Ausgabe wie printf() oder qDebug() zu drucken, ohne Formatierungswarnungen auszulösen und ohne die Notwendigkeit eines Typ-Casts.

Typ-Dokumentation

qint8

Typedef für signed char. Dieser Typ ist garantiert 8-bit auf allen von Qt unterstützten Plattformen.

qint16

Typedef für signed short. Dieser Typ ist garantiert 16-bit auf allen von Qt unterstützten Plattformen.

qint32

Typedef für signed int. Dieser Typ ist garantiert 32-Bit auf allen von Qt unterstützten Plattformen.

qint64

Typedef für long long int. Dieser Typ ist garantiert 64-bit auf allen von Qt unterstützten Plattformen.

Literale dieses Typs können mit dem Makro Q_INT64_C() erstellt werden:

qint64 value = Q_INT64_C(932838457459459);

Siehe auch Q_INT64_C(), quint64, und qlonglong.

[since 6.6] qint128

Typedef für __int128 auf Plattformen, die es unterstützen (Qt definiert das Makro QT_SUPPORTS_INT128, wenn dies der Fall ist).

Literale dieses Typs können mit dem Makro Q_INT128_C() erstellt werden.

Dieses Typedef wurde in Qt 6.6 eingeführt.

Siehe auch Q_INT128_C(), Q_INT128_MIN, Q_INT128_MAX, quint128, und QT_SUPPORTS_INT128.

qintptr

Ganzzahliger Typ zur Darstellung von Zeigern in einer vorzeichenbehafteten Ganzzahl (nützlich für Hashing usw.).

Typedef für entweder qint32 oder qint64. Dieser Typ hat garantiert die gleiche Größe wie ein Zeiger auf allen von Qt unterstützten Plattformen. Auf einem System mit 32-Bit-Zeigern ist qintptr ein typedef für qint32; auf einem System mit 64-Bit-Zeigern ist qintptr ein typedef für qint64.

Beachten Sie, dass qintptr vorzeichenbehaftet ist. Verwenden Sie quintptr für vorzeichenlose Werte.

Um Werte dieses Typs mit Hilfe von formatierten Ausgabemöglichkeiten wie printf(), qDebug(), QString::asprintf() und so weiter zu drucken, können Sie die Makros PRIdQINTPTR und PRIiQINTPTR als Formatspezifizierer verwenden. Beide geben den Wert als Zahl zur Basis 10 aus.

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

Siehe auch qptrdiff, qint32, und qint64.

qlonglong

Typedef für long long int (__int64 unter Windows). Dies ist dasselbe wie qint64.

Siehe auch qulonglong und qint64.

qptrdiff

Integraler Typ zur Darstellung von Zeigerdifferenzen.

Typedef für entweder qint32 oder qint64. Dieser Typ hat garantiert die gleiche Größe wie ein Zeiger auf allen von Qt unterstützten Plattformen. Auf einem System mit 32-Bit-Zeigern ist quintptr ein typedef für quint32; auf einem System mit 64-Bit-Zeigern ist quintptr ein typedef für quint64.

Beachten Sie, dass qptrdiff vorzeichenbehaftet ist. Verwenden Sie quintptr für vorzeichenlose Werte.

Um Werte dieses Typs mit Hilfe von formatierten Ausgabemöglichkeiten wie printf(), qDebug(), QString::asprintf() und so weiter zu drucken, können Sie die Makros PRIdQPTRDIFF und PRIiQPTRDIFF als Formatspezifizierer verwenden. Beide geben den Wert als Zahl zur Basis 10 aus.

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

Siehe auch quintptr, qint32, und qint64.

qreal

Typedef für double, sofern Qt nicht mit der Option -qreal float konfiguriert ist.

[alias] qsizetype

Integraler Typ, der Posix' ssize_t für alle Plattformen bereitstellt.

Dieser Typ hat garantiert die gleiche Größe wie size_t auf allen von Qt unterstützten Plattformen.

Beachten Sie, dass qsizetype vorzeichenbehaftet ist. Verwenden Sie size_t für vorzeichenlose Werte.

Um Werte dieses Typs mit Hilfe von formatierten Ausgabemöglichkeiten wie printf(), qDebug(), QString::asprintf() und so weiter zu drucken, können Sie die Makros PRIdQSIZETYPE und PRIiQSIZETYPE als Formatspezifizierer verwenden. Beide geben den Wert als Zahl zur Basis 10 aus.

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

Siehe auch qptrdiff.

quint8

Typedef für unsigned char. Dieser Typ ist garantiert 8-bit auf allen von Qt unterstützten Plattformen.

quint16

Typedef für unsigned short. Dieser Typ ist garantiert 16-bit auf allen von Qt unterstützten Plattformen.

quint32

Typedef für unsigned int. Dieser Typ ist garantiert 32-Bit auf allen von Qt unterstützten Plattformen.

quint64

Typedef für unsigned long long int. Dieser Typ ist garantiert 64-bit auf allen von Qt unterstützten Plattformen.

Literale dieses Typs können mit dem Makro Q_UINT64_C() erstellt werden:

quint64 value = Q_UINT64_C(932838457459459);

Siehe auch Q_UINT64_C(), qint64, und qulonglong.

[since 6.6] quint128

Typedef für unsigned __int128 auf Plattformen, die es unterstützen (Qt definiert das Makro QT_SUPPORTS_INT128, wenn dies der Fall ist).

Literale dieses Typs können mit dem Makro Q_UINT128_C() erstellt werden.

Dieses Typedef wurde in Qt 6.6 eingeführt.

Siehe auch Q_UINT128_C(), Q_UINT128_MAX, qint128, und QT_SUPPORTS_INT128.

quintptr

Integraler Typ zur Darstellung von Zeigern in einer Ganzzahl ohne Vorzeichen (nützlich für Hashing usw.).

Typedef für entweder quint32 oder quint64. Dieser Typ hat garantiert die gleiche Größe wie ein Zeiger auf allen von Qt unterstützten Plattformen. Auf einem System mit 32-Bit-Zeigern ist quintptr ein typedef für quint32; auf einem System mit 64-Bit-Zeigern ist quintptr ein typedef für quint64.

Beachten Sie, dass quintptr vorzeichenlos ist. Verwenden Sie qptrdiff für vorzeichenbehaftete Werte.

Um Werte dieses Typs mit Hilfe von formatierten Ausgabemöglichkeiten wie printf(), qDebug(), QString::asprintf() und so weiter auszugeben, können Sie die folgenden Makros als Formatspezifikation verwenden:

  • PRIuQUINTPTR: gibt den Wert als Zahl zur Basis 10 aus.
  • PRIoQUINTPTR: gibt den Wert als Zahl zur Basis 8 aus.
  • PRIxQUINTPTR: gibt den Wert als Zahl zur Basis 16 aus, wobei Kleinbuchstaben verwendet werden a-f.
  • PRIXQUINTPTR: druckt den Wert als Zahl zur Basis 16 unter Verwendung von Großbuchstaben A-F.
quintptr p = 123u;
printf("The pointer value is 0x%" PRIXQUINTPTR "\n", p);

Siehe auch qptrdiff, quint32, und quint64.

qulonglong

Typedef für unsigned long long int (unsigned __int64 unter Windows). Dies ist dasselbe wie quint64.

Siehe auch quint64 und qlonglong.

uchar

Convenience typedef für unsigned char.

uint

Bequemer Typedef für unsigned int.

ulong

Convenience typedef für unsigned long.

ushort

Bequemer typedef für unsigned short.

Makro-Dokumentation

[since 6.2] PRIdQINTPTR

[since 6.2] PRIiQINTPTR

Siehe qintptr.

Diese Funktion wurde in Qt 6.2 eingeführt.

[since 6.2] PRIXQUINTPTR

[since 6.2] PRIoQUINTPTR

[since 6.2] PRIuQUINTPTR

[since 6.2] PRIxQUINTPTR

Siehe quintptr.

Diese Funktion wurde in Qt 6.2 eingeführt.

[since 6.2] PRIdQPTRDIFF

[since 6.2] PRIiQPTRDIFF

Siehe qptrdiff.

Diese Funktion wurde in Qt 6.2 eingeführt.

[since 6.2] PRIdQSIZETYPE

[since 6.2] PRIiQSIZETYPE

Siehe qsizetype.

Diese Funktion wurde in Qt 6.2 eingeführt.

[since 6.6] QT_SUPPORTS_INT128

Qt definiert dieses Makro sowie die Typen qint128 und quint128, wenn die Plattform 128-Bit-Integer-Typen unterstützt.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch qint128, quint128, Q_INT128_C(), Q_UINT128_C(), Q_INT128_MIN, Q_INT128_MAX, und Q_UINT128_MAX.

[since 6.6] qint128 Q_INT128_C(literal)

Umfasst die vorzeichenbehaftete 128-Bit-Ganzzahl literal in einer plattformunabhängigen Weise.

Hinweis: Im Gegensatz zu Q_INT64_C() ist dieses Makro nur in C++ verfügbar, nicht in C. Dies liegt daran, dass Compiler diese Literale nicht als Built-Ins bereitstellen und C keine Unterstützung für benutzerdefinierte Literale bietet.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch qint128, Q_UINT128_C(), Q_INT128_MIN, Q_INT128_MAX, Q_INT64_C(), und QT_SUPPORTS_INT128.

[since 6.6] Q_INT128_MAX

Dieses Makro expandiert zu einer Kompilierzeitkonstante, die den maximal darstellbaren Wert in einem qint128 darstellt.

Dieses Makro ist sowohl im C++- als auch im C-Modus verfügbar.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch Q_INT128_MIN, Q_UINT128_MAX, qint128, Q_INT128_C, und QT_SUPPORTS_INT128.

[since 6.6] Q_INT128_MIN

Dieses Makro expandiert zu einer Kompilierzeitkonstante, die den kleinsten darstellbaren Wert in einem qint128 darstellt.

Dieses Makro ist sowohl im C++- als auch im C-Modus verfügbar.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch Q_INT128_MAX, qint128, Q_INT128_C, und QT_SUPPORTS_INT128.

qint64 Q_INT64_C(literal)

Verpackt die vorzeichenbehaftete 64-Bit-Ganzzahl literal auf plattformunabhängige Weise.

Beispiel:

qint64 value = Q_INT64_C(932838457459459);

Siehe auch qint64, Q_UINT64_C(), und Q_INT128_C().

[since 6.6] quint128 Q_UINT128_C(literal)

Umhüllt die vorzeichenlose 128-Bit-Ganzzahl literal auf plattformunabhängige Weise.

Hinweis: Im Gegensatz zu Q_UINT64_C() ist dieses Makro nur in C++ verfügbar, nicht in C. Dies liegt daran, dass Compiler diese Literale nicht als Built-Ins bereitstellen und C keine Unterstützung für benutzerdefinierte Literale bietet.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch quint128, Q_INT128_C(), Q_UINT128_MAX, Q_UINT64_C(), und QT_SUPPORTS_INT128.

[since 6.6] Q_UINT128_MAX

Dieses Makro expandiert zu einer Kompilierzeitkonstante, die den maximal darstellbaren Wert in einem quint128 darstellt.

Dieses Makro ist sowohl im C++- als auch im C-Modus verfügbar.

Das Minimum von quint128 ist 0 (Null), so dass ein Q_UINT128_MIN weder benötigt noch bereitgestellt wird.

Dieses Makro wurde in Qt 6.6 eingeführt.

Siehe auch Q_INT128_MAX, quint128, Q_UINT128_C, und QT_SUPPORTS_INT128.

quint64 Q_UINT64_C(literal)

Umhüllt die vorzeichenlose 64-Bit-Ganzzahl literal auf plattformunabhängige Weise.

Beispiel:

quint64 value = Q_UINT64_C(932838457459459);

Siehe auch quint64, Q_INT64_C(), und Q_UINT128_C().

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