Sur cette page

Qt3DCore::QAbstractFunctor Class

class Qt3DCore::QAbstractFunctor

QAbstractFunctor est une classe de base abstraite pour tous les foncteurs. Plus d'informations...

En-tête : #include <QAbstractFunctor>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake : QT += 3dcore
Héritée par :

Qt3DRender::QTextureImageDataGenerator

Statut : Déclassé

Fonctions publiques

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

Macros

QT3D_FUNCTOR(Class)

Description détaillée

La classe QAbstractFunctor est utilisée comme classe de base pour tous les foncteurs et générateurs de données dans le module Qt3DCore.

Lorsque l'utilisateur définit un nouveau foncteur ou générateur, il doit implémenter la méthode QAbstractFunctor::id(), ce qui doit être fait en utilisant la macro QT3D_FUNCTOR dans la définition de la classe.

Documentation des fonctions membres

[virtual noexcept] QAbstractFunctor::~QAbstractFunctor()

Desctructeur

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

Cette méthode est utilisée pour convertir le foncteur other en type T si l'autre est de type T (ou d'une sous-classe) ; sinon, elle renvoie 0. Cette méthode fonctionne de la même manière que qobject_cast(), sauf avec les foncteurs dérivés de QAbstractFunctor.

Attention : Si T n'a pas été déclaré avec la macro QT3D_FUNCTOR, les résultats sont indéfinis.

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

Renvoie un pointeur sur l'identifiant du foncteur.

Documentation sur les macros

QT3D_FUNCTOR(Class)

Cette macro attribue l'identifiant du foncteur à Class, qui est utilisé par QAbstractFunctor::functor_cast pour déterminer si le cast peut être effectué.

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