Obsolete Members for QMetaType

Die folgenden Mitglieder der Klasse „ QMetaType “ sind veraltet. Sie werden bereitgestellt, um die Funktionsfähigkeit von altem Quellcode zu gewährleisten. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Statische öffentliche Mitglieder

(deprecated in 6.0) bool compare(const void *lhs, const void *rhs, int typeId, int *result)
(deprecated in 6.0) void *construct(int type, void *where, const void *copy)
(deprecated in 6.0) bool convert(const void *from, int fromTypeId, void *to, int toTypeId)
(deprecated in 6.0) void *create(int type, const void *copy = nullptr)
(deprecated in 6.0) bool debugStream(QDebug &dbg, const void *rhs, int typeId)
(deprecated in 6.0) void destroy(int type, void *data)
(deprecated in 6.0) void destruct(int type, void *where)
(deprecated in 6.0) bool hasRegisteredDebugStreamOperator()
(deprecated in 6.0) bool hasRegisteredDebugStreamOperator(int typeId)
(deprecated in 6.0) bool load(QDataStream &stream, int type, void *data)
(deprecated in 6.0) const QMetaObject *metaObjectForType(int type)
(deprecated in 6.0) bool save(QDataStream &stream, int type, const void *data)
(deprecated in 6.0) int sizeOf(int type)
(deprecated in 6.0) int type(const char *typeName)
(deprecated in 6.0) int type(const QByteArray &typeName)
(deprecated in 6.0) QMetaType::TypeFlags typeFlags(int type)
(deprecated in 6.0) const char *typeName(int typeId)

Verwandte Nicht-Mitglieder

(deprecated) int qRegisterMetaType(const char *typeName)

Dokumentation zu Mitgliedsfunktionen

[static, deprecated in 6.0] bool QMetaType::compare(const void *lhs, const void *rhs, int typeId, int *result)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Verwenden Sie stattdessen die nicht-statische compare-Methode.

Vergleicht die Objekte unter lhs und rhs. Beide Objekte müssen vom Typ typeId sein. result wird auf kleiner als, gleich oder größer als Null gesetzt, wenn lhs kleiner als, gleich oder größer als rhs ist. Gibt true zurück, wenn der Vergleich erfolgreich war, andernfalls false.

[static, deprecated in 6.0] void *QMetaType::construct(int type, void *where, const void *copy)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Erstellt einen Wert des angegebenen Typs ` type ` im vorhandenen Speicher, auf den ` where` verweist, d. h. eine Kopie von ` copy`, und gibt ` where` zurück. Ist ` copy ` gleich Null, wird der Wert standardmäßig initialisiert.

Dies ist eine Low-Level-Funktion zur expliziten Verwaltung des Speichers, der zum Speichern des Typs verwendet wird. Ziehen Sie den Aufruf von ` create()` in Betracht, wenn Sie diese Ebene der Kontrolle nicht benötigen (d. h. verwenden Sie „new“ anstelle von „placement new“).

Sie müssen sicherstellen, dass ` where ` auf eine Adresse verweist, an der ein Wert vom Typ ` type` gespeichert werden kann, und dass ` where ` entsprechend ausgerichtet ist. Die Größe des Typs kann durch Aufruf von ` sizeOf()` abgefragt werden.

Als Faustregel für die Ausrichtung gilt, dass ein Typ an seiner natürlichen Grenze ausgerichtet wird, d. h. an der kleinsten Potenz von 2, die größer ist als der Typ selbst, es sei denn, diese Ausrichtung ist größer als die maximale nutzbare Ausrichtung für die Plattform. In der Praxis ist ein Alignment, das größer als 2 * sizeof(void*) ist, nur für spezielle Hardware-Befehle erforderlich (z. B. ausgerichtete SSE-Lade- und Speicheroperationen auf x86).

Siehe auch destruct() und sizeOf().

[static, deprecated in 6.0] bool QMetaType::convert(const void *from, int fromTypeId, void *to, int toTypeId)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Konvertiert das Objekt unter from vom Typ „ fromTypeId “ in den vorab zugewiesenen Speicherbereich unter to vom Typ „ toTypeId “. Gibt „ true “ zurück, wenn die Konvertierung erfolgreich war, andernfalls „false“.

Sowohl ` from ` als auch ` to ` müssen gültige Zeiger sein.

[static, deprecated in 6.0] void *QMetaType::create(int type, const void *copy = nullptr)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt eine Kopie von ` copy` zurück, vorausgesetzt, es handelt sich um den Typ ` type`. Ist ` copy ` gleich Null, wird eine Instanz mit Standardkonstruktion erstellt.

Siehe auch ` destroy()`, ` isRegistered()` und ` Type`.

[static, deprecated in 6.0] bool QMetaType::debugStream(QDebug &dbg, const void *rhs, int typeId)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Dies ist eine überladene Funktion.

[static, deprecated in 6.0] void QMetaType::destroy(int type, void *data)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Löscht das ` data`, vorausgesetzt, es handelt sich um das angegebene ` type `.

Siehe auch „ create()“, „ isRegistered()“ und „ Type “.

[static, deprecated in 6.0] void QMetaType::destruct(int type, void *where)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Löst die Freigabe des Werts des angegebenen ` type` aus, der sich unter ` where` befindet.

Im Gegensatz zu ` destroy()` ruft diese Funktion nur den Destruktor des Typs auf, nicht jedoch den `delete`-Operator.

Siehe auch ` construct()`.

[static, deprecated in 6.0] template <typename T> bool QMetaType::hasRegisteredDebugStreamOperator()

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt ` true` zurück, wenn das Meta-Typsystem einen registrierten Debug-Stream-Operator für den Typ `T` besitzt.

[static, deprecated in 6.0] bool QMetaType::hasRegisteredDebugStreamOperator(int typeId)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Verwenden Sie stattdessen ` QMetaType::hasRegisteredDebugStreamOperator()`.

Gibt ` true` zurück, wenn das Metatyp-System einen registrierten Debug-Stream-Operator für die Typ-ID ` typeId` besitzt.

[static, deprecated in 6.0] bool QMetaType::load(QDataStream &stream, int type, void *data)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Dies ist eine überladene Funktion.

[static, deprecated in 6.0] const QMetaObject *QMetaType::metaObjectForType(int type)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt „ QMetaType::metaObject “ zurück für type

Siehe auch ` metaObject()`.

[static, deprecated in 6.0] bool QMetaType::save(QDataStream &stream, int type, const void *data)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Dies ist eine überladene Funktion.

[static, deprecated in 6.0] int QMetaType::sizeOf(int type)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt die Größe des angegebenen „ type “ in Byte zurück (d. h. `sizeof(T)`, wobei `T` der tatsächliche Typ ist, der durch das Argument ` type ` identifiziert wird).

Diese Funktion wird typischerweise zusammen mit ` construct()` verwendet, um die Speicherverwaltung eines Typs auf niedriger Ebene durchzuführen.

Siehe auch ` construct()` und ` QMetaType::alignOf()`.

[static, deprecated in 6.0] int QMetaType::type(const char *typeName)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt ein Handle für den Typ „ typeName “ zurück oder „ QMetaType::UnknownType “, falls kein solcher Typ existiert.

Siehe auch „ isRegistered()“, „ typeName()“ und „ Type “.

[static, deprecated in 6.0] int QMetaType::type(const QByteArray &typeName)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt ein Handle für den Typ „ typeName “ zurück oder 0, falls kein solcher Typ existiert.

Dies ist eine überladene Funktion.

Siehe auch ` isRegistered()` und ` typeName()`.

[static, deprecated in 6.0] QMetaType::TypeFlags QMetaType::typeFlags(int type)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt die Flags des angegebenen ` type` zurück.

Siehe auch „ QMetaType::TypeFlags “.

[static, deprecated in 6.0] const char *QMetaType::typeName(int typeId)

Diese Funktion ist seit Version 6.0 veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Gibt den Typnamen zurück, der dem angegebenen ` typeId` zugeordnet ist, oder einen Nullzeiger, wenn kein passender Typ gefunden wurde. Der zurückgegebene Zeiger darf nicht gelöscht werden.

Siehe auch ` type()`, ` isRegistered()`, ` Type` und ` name()`.

Verwandte Nicht-Mitglieder

[deprecated] template <typename T> int qRegisterMetaType(const char *typeName)

Diese Funktion ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Registriert den Typnamen „ typeName “ für den Typ „ T “. Gibt die interne ID zurück, die von „ QMetaType “ verwendet wird. Jede Klasse oder Struktur, die über einen öffentlichen Standardkonstruktor, einen öffentlichen Kopierkonstruktor und einen öffentlichen Destruktor verfügt, kann registriert werden.

Diese Funktion setzt voraus, dass T zum Zeitpunkt des Funktionsaufrufs ein vollständig definierter Typ ist. Bei Zeigertypen muss außerdem der Typ, auf den der Zeiger verweist, vollständig definiert sein. Verwenden Sie Q_DECLARE_OPAQUE_POINTER(), um Zeiger auf vorwärtsdeklarierte Typen registrieren zu können.

Nachdem ein Typ registriert wurde, können Sie Objekte dieses Typs zur Laufzeit dynamisch anlegen und löschen.

In diesem Beispiel wird die Klasse ` MyClass` registriert:

qRegisterMetaType<MyClass>("MyClass");

Diese Funktion ist nützlich, um Typdefinitionen zu registrieren, damit sie von ` QMetaProperty` oder in `QueuedConnections` verwendet werden können.

typedef QString CustomString;
qRegisterMetaType<CustomString>("CustomString");

Warnung: Diese Funktion eignet sich ausschließlich zur Registrierung eines Alias (typedef). Für alle anderen Anwendungsfälle sollten stattdessen Q_DECLARE_METATYPE und qMetaTypeId() verwendet werden.

Siehe auch isRegistered() und Q_DECLARE_METATYPE().

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