- Qt 5.5
- Qt3D Module
- C++ Classes
- QComponent
- Qt 5.5.1 Reference Documentation

# QComponent Class

(Qt3D::QComponent)

The base class of scene nodes that can be aggregated by Qt3D::QEntity instances as a component. More...

Header: | #include <QComponent>
qmake: | QT += 3dcore
Since: | Qt 5.5
Instantiated By: | Component3D
Inherits: | QNode
Inherited By: | Qt3D::QCameraLens, Qt3D::QKeyboardInput, and Qt3D::QMouseInput

- List of all members, including inherited members

## Properties

- enabled : bool
- shareable : bool

- 1 property inherited from Qt3D::QNode

## Public Functions

| QComponent(QNode * parent = 0)
| ~QComponent()
QVector<QEntity *> | entities() const
bool | isEnabled() const
void | setEnabled(bool enabled)
void | setShareable(bool shareable)
bool | shareable() const

- 6 public functions inherited from Qt3D::QNode

## Signals

void | enabledChanged()
void | shareableChanged()

- 1 signal inherited from Qt3D::QNode

## Reimplemented Protected Functions

virtual void | copy(const QNode * ref)

- 3 protected functions inherited from Qt3D::QNode

### Additional Inherited Members

- 3 protected functions inherited from Qt3D::QNode
- 1 static protected member inherited from Qt3D::QNode

## Detailed Description

The base class of scene nodes that can be aggregated by Qt3D::QEntity instances as a component.

A Qt3D::QComponent provides a vertical slice of behavior that can be assigned to and sometimes shared across Qt3D::QEntity instances.

Qt3D::QComponent subclasses are often aggregated in groups that impart useful behavior to the aggregating entity. For example, to have an Entity that gets drawn by the Qt3D renderer aspect, an entity would most likely aggregate Qt3D::QTransform, Qt3D::QMesh, and Qt3D::QMaterial components.

See also Qt3D::QEntity.

## Property Documentation

### enabled : bool

Access functions:

bool | isEnabled() const
void | setEnabled(bool enabled)

Notifier signal:

void | enabledChanged()

### shareable : bool

Access functions:

bool | shareable() const
void | setShareable(bool shareable)

Notifier signal:

void | shareableChanged()

## Member Function Documentation

### QComponent::QComponent(QNode * parent = 0)

Constructs a new QComponent instance with parent as the parent.

Note: a QComponent should never be instanced directly, instance one of the subclasses instead.

### QComponent::~QComponent()

### `[virtual protected]` void QComponent::copy(const QNode * ref)

### QVector<QEntity *> QComponent::entities() const

Returns a QVector containing all the entities that reference this component.