QFinalState 類

QFinalState 類提供最終狀態。 更多...

頭: #include <QFinalState>
qmake: QT += core
Since: Qt 4.6
繼承: QAbstractState

該類在 Qt 4.6 引入。

公共函數

QFinalState (QState * parent = nullptr)
virtual ~QFinalState ()

重實現保護函數

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

詳細描述

最終狀態用於傳達 (屬於) QStateMachine 已完成其工作。當進入最終頂層狀態時,狀態機的 finished () 信號發射。一般而言,當最終子狀態 (子級化的 QState ) 進入,父級狀態的 finished () 信號發射。QFinalState 屬於 狀態機框架 .

要使用最終狀態,創建 QFinalState 對象並從另一狀態嚮其添加過渡。範例:

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 = nullptr)

構造新的 QFinalState 對象采用給定 parent 狀態。

[虛擬] QFinalState:: ~QFinalState ()

銷毀此最終狀態。

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

重實現: QAbstractState::event (QEvent *e).

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

重實現: QAbstractState::onEntry (QEvent *event).

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

重實現: QAbstractState::onExit (QEvent *event).