Auf dieser Seite

Qt3DCore::QAbstractFunctor Class

class Qt3DCore::QAbstractFunctor

QAbstractFunctor ist eine abstrakte Basisklasse für alle Funktoren. Mehr...

Header: #include <QAbstractFunctor>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
Vererbt an:

Qt3DRender::QTextureImageDataGenerator

Status: Veraltet

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

Öffentliche Funktionen

QAbstractFunctor()
virtual ~QAbstractFunctor()
const T *functor_cast(const Qt3DCore::QAbstractFunctor *other) const
virtual qintptr id() const = 0

Makros

QT3D_FUNCTOR(Class)

Ausführliche Beschreibung

QAbstractFunctor dient als Basisklasse für alle Funktoren und Datengeneratoren im Modul „ Qt3DCore “.

Wenn der Benutzer einen neuen Funktor oder Generator definiert, muss er die Methode ` QAbstractFunctor::id()` implementieren, was mithilfe des Makros ` QT3D_FUNCTOR ` in der Klassendefinition erfolgen sollte.

Dokumentation zu den Member-Funktionen

[constexpr noexcept default] QAbstractFunctor::QAbstractFunctor()

Erstellt standardmäßig eine Instanz von ` QAbstractFunctor`.

[virtual noexcept] QAbstractFunctor::~QAbstractFunctor()

Destruktor

template <typename T> const T *QAbstractFunctor::functor_cast(const Qt3DCore::QAbstractFunctor *other) const

Diese Methode wird verwendet, um den Funktor ` other ` in den Typ `T` umzuwandeln, sofern der andere vom Typ `T` (oder einer Unterklasse davon) ist; andernfalls wird 0 zurückgegeben. Diese Methode funktioniert ähnlich wie ` qobject_cast()`, allerdings mit Funktoren, die von ` QAbstractFunctor` abgeleitet sind.

Warnung: Wenn T nicht mit dem Makro „ QT3D_FUNCTOR “ deklariert wurde, sind die Ergebnisse undefiniert.

[pure virtual] qintptr QAbstractFunctor::id() const

Gibt einen Zeiger auf die ID des Funktors zurück.

Makro-Dokumentation

QT3D_FUNCTOR(Class)

Dieses Makro weist dem „ Class “ die Funktor-ID zu, die von „ QAbstractFunctor::functor_cast “ verwendet wird, um festzustellen, ob die Typumwandlung durchgeführt werden kann.

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