The QFinalState class provides a final state. More...
This class was introduced in Qt 4.6.
|QFinalState ( QState * parent = 0 )|
Reimplemented Protected Functions
|virtual bool||event ( QEvent * e )|
|virtual void||onEntry ( QEvent * event )|
|virtual void||onExit ( QEvent * event )|
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QAbstractState
- 1 signal inherited from QObject
- 7 static public members inherited from QObject
- 3 protected functions inherited from QAbstractState
- 8 protected functions inherited from QObject
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 QState::finished().
Member Function Documentation
QFinalState::QFinalState ( QState * parent = 0 )
Constructs a new QFinalState object with the given parent state.
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().
© 2012 Nokia Corporation and/or its subsidiaries. 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.
Documentation sources may be obtained from www.qt-project.org.