- Qt 5.5
- Qt Core
- C++ Classes
- QAbstractState
- Qt 5.5.1 Reference Documentation

# QAbstractState Class

The QAbstractState class is the base class of states of a QStateMachine. More...

Header: | #include <QAbstractState>
qmake: | QT += core
Since: | Qt 4.6
Inherits: | QObject
Inherited By: | QFinalState, QHistoryState, and QState

- List of all members, including inherited members

## Properties

- active : const bool

- 1 property inherited from QObject

## Public Functions

| ~QAbstractState()
bool | active() const
QStateMachine * | machine() const
QState * | parentState() const

- 31 public functions inherited from QObject

## Signals

void | activeChanged(bool active)
void | entered()
void | exited()

- 2 signals inherited from QObject

## Protected Functions

| QAbstractState(QState * parent = 0)
virtual void | onEntry(QEvent * event) = 0
virtual void | onExit(QEvent * event) = 0

## Reimplemented Protected Functions

virtual bool | event(QEvent * e)

- 9 protected functions inherited from QObject

### Additional Inherited Members

- 1 public slot inherited from QObject
- 11 static public members inherited from QObject

## Detailed Description

The QAbstractState class is the base class of states of a QStateMachine.

The QAbstractState class is the abstract base class of states that are part of a QStateMachine. It defines the interface that all state objects have in common. QAbstractState is part of The State Machine Framework.

The entered() signal is emitted when the state has been entered. The exited() signal is emitted when the state has been exited.

The parentState() function returns the state's parent state. The machine() function returns the state machine that the state is part of.

### Subclassing

The onEntry() function is called when the state is entered; reimplement this function to perform custom processing when the state is entered.

The onExit() function is called when the state is exited; reimplement this function to perform custom processing when the state is exited.

## Property Documentation

### active : const bool

This property holds the active property of this state. A state is active between entered() and exited() signals.

This property was introduced in Qt 5.4.

Access functions:

bool | active() const

Notifier signal:

void | activeChanged(bool active)

## Member Function Documentation

### `[protected]` QAbstractState::QAbstractState(QState * parent = 0)

Constructs a new state with the given parent state.

### QAbstractState::~QAbstractState()

Destroys this state.

### `[signal]` void QAbstractState::entered()

This signal is emitted when the state has been entered (after onEntry() has been called).

Note: This is a private signal. It can be used in signal connections but cannot be emitted by the user.

### `[virtual protected]` bool QAbstractState::event(QEvent * e)

Reimplemented from QObject::event().

### `[signal]` void QAbstractState::exited()

This signal is emitted when the state has been exited (after onExit() has been called).

Note: This is a private signal. It can be used in signal connections but cannot be emitted by the user.

### QStateMachine * QAbstractState::machine() const

Returns the state machine that this state is part of, or 0 if the state is not part of a state machine.

### `[pure virtual protected]` void QAbstractState::onEntry(QEvent * event)

This function is called when the state is entered. The given event is what caused the state to be entered. Reimplement this function to perform custom processing when the state is entered.

### `[pure virtual protected]` void QAbstractState::onExit(QEvent * event)

This function is called when the state is exited. The given event is what caused the state to be exited. Reimplement this function to perform custom processing when the state is exited.

### QState * QAbstractState::parentState() const

Returns this state's parent state, or 0 if the state has no parent state.