QFinalState Class

The QFinalState class provides a final state. 更多...

头文件: #include <QFinalState>
qmake: QT += core
开始支持版本: Qt 4.6
基类: QAbstractState

公有函数

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

重新实现的受保护函数

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

其他继承的成员

详细描述

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();

参见 QState::finished().

成员函数

QFinalState::QFinalState(QState *parent = Q_NULLPTR)

Constructs a new QFinalState object with the given parent state.

QFinalState::~QFinalState()

Destroys this final state.

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

Reimplemented from QObject::event().

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

Reimplemented from QAbstractState::onEntry().

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

Reimplemented from QAbstractState::onExit().