Obsolete Members for QMetaType

Die folgenden Mitglieder der Klasse QMetaType sind veraltet. Sie werden bereitgestellt, um alten Quellcode funktionsfähig zu halten. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Statische öffentliche Mitglieder

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

Verwandte Nicht-Mitglieder

(deprecated) int qRegisterMetaType(const char *typeName)

Dokumentation der Mitgliedsfunktionen

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

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

Verwenden Sie stattdessen die nicht-statische Vergleichsmethode

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

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

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

Konstruiert einen Wert des angegebenen type in dem durch where adressierten Speicher, der eine Kopie von copy ist, und gibt where zurück. Wenn copy gleich Null ist, wird der Wert standardmäßig konstruiert.

Dies ist eine Low-Level-Funktion zur expliziten Verwaltung des zur Speicherung des Typs verwendeten Speichers. Ziehen Sie in Erwägung, create() aufzurufen, wenn Sie diese Ebene der Kontrolle nicht benötigen (d.h. verwenden Sie "new" statt "placement new").

Sie müssen sicherstellen, dass where auf eine Stelle zeigt, die einen Wert des Typs type speichern 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 als der Typ ist, es sei denn, diese Ausrichtung ist größer als die maximal sinnvolle Ausrichtung für die Plattform. In der Praxis ist eine Ausrichtung, die größer als 2 * sizeof(void*) ist, nur für spezielle Hardwareanweisungen erforderlich (z. B. ausgerichtete SSE-Lade- und Speicheroperationen auf x86).

Siehe auch destruct() und sizeOf().

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

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

Konvertiert das Objekt unter from von fromTypeId in den vordefinierten Speicherplatz unter to mit der Typisierung 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] void *QMetaType::create(int type, const void *copy = nullptr)

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

Gibt eine Kopie von copy zurück, vorausgesetzt, sie ist vom Typ type. Wenn copy gleich Null ist, wird eine standardmäßig konstruierte Instanz erzeugt.

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

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

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

Dies ist eine überladene Funktion.

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

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

Zerstört die Datei data, vorausgesetzt, sie ist von der angegebenen type.

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

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

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

Destruiert den Wert des angegebenen type, der sich unter where befindet.

Im Gegensatz zu destroy() ruft diese Funktion nur den Destruktor des Typs auf, sie ruft nicht den Löschoperator auf.

Siehe auch construct().

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

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

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

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

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

Verwenden Sie stattdessen QMetaType::hasRegisteredDebugStreamOperator().

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

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

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

Dies ist eine überladene Funktion.

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

Diese Funktion ist 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] bool QMetaType::save(QDataStream &stream, int type, const void *data)

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

Dies ist eine überladene Funktion.

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

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

Gibt die Größe des angegebenen type in Bytes 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 Verwaltung des von einem Typ verwendeten Speichers auf niedriger Ebene durchzuführen.

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

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

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

Gibt ein Handle auf den Typ namens typeName zurück, oder QMetaType::UnknownType, wenn es keinen solchen Typ gibt.

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

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

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

Dies ist eine überladene Funktion.

Gibt ein Handle auf den Typ typeName zurück, oder 0, wenn es keinen solchen Typ gibt.

Siehe auch isRegistered() und typeName().

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

Diese Funktion ist 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] const char *QMetaType::typeName(int typeId)

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

Gibt den Typnamen zurück, der mit dem angegebenen typeId verbunden ist, oder einen Null-Zeiger, 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 einen öffentlichen Standardkonstruktor, einen öffentlichen Kopierkonstruktor und einen öffentlichen Destruktor hat, kann registriert werden.

Diese Funktion setzt voraus, dass T zu dem Zeitpunkt, zu dem die Funktion aufgerufen wird, ein vollständig definierter Typ ist. Bei Zeigertypen ist es außerdem erforderlich, dass der Typ, auf den gezeigt wird, vollständig definiert ist. Verwenden Sie Q_DECLARE_OPAQUE_POINTER(), um Zeiger auf vorwärts deklarierte Typen registrieren zu können.

Nachdem ein Typ registriert wurde, können Sie Objekte dieses Typs dynamisch zur Laufzeit erstellen und zerstören.

In diesem Beispiel wird die Klasse MyClass registriert:

qRegisterMetaType<MyClass>("MyClass");

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

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

Warnung: Diese Funktion ist nur nützlich, um einen Alias (typedef) zu registrieren. Für alle anderen Anwendungsfälle sollten Q_DECLARE_METATYPE und qMetaTypeId() verwendet werden.

Siehe auch isRegistered() und Q_DECLARE_METATYPE().

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