Qt Reference Documentation

QFinalState Class Reference

The QFinalState class provides a final state. More...

 #include <QFinalState>

Inherits QAbstractState.

This class was introduced in Qt 4.6.

Public Functions

QFinalState ( QState * parent = 0 )
~QFinalState ()

Reimplemented Protected Functions

virtual bool event ( QEvent * e )
virtual void onEntry ( QEvent * event )
virtual void onExit ( QEvent * event )

Additional Inherited Members

Detailed Description

The QFinalState class provides a final state.

A final state is used to communicate that (part of) a QStateMachine has finished its work. When a final top-level state is entered, the state machine's finished() signal is emitted. In general, when a final substate (a child of a QState) is entered, the parent state's finished() signal is emitted. QFinalState is part of The State Machine Framework.

To use a final state, you create a QFinalState object and add a transition to it from another state. Example:

 QPushButton button;

 QStateMachine machine;
 QState *s1 = new QState();
 QFinalState *s2 = new QFinalState();
 s1->addTransition(&button, SIGNAL(clicked()), s2);
 machine.addState(s1);
 machine.addState(s2);

 QObject::connect(&machine, SIGNAL(finished()), QApplication::instance(), SLOT(quit()));
 machine.setInitialState(s1);
 machine.start();

See also QStateMachine::finished() and QState::finished().

Member Function Documentation

QFinalState::QFinalState ( QState * parent = 0 )

Constructs a new QFinalState object with the given parent state.

QFinalState::~QFinalState ()

Destroys this final state.

bool QFinalState::event ( QEvent * e ) [virtual protected]

Reimplemented from QObject::event().

void QFinalState::onEntry ( QEvent * event ) [virtual protected]

Reimplemented from QAbstractState::onEntry().

void QFinalState::onExit ( QEvent * event ) [virtual protected]

Reimplemented from QAbstractState::onExit().

X

Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.