有限状态机,(英语:Finite-state machine,FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。——————————————————–来自百度百科
[1]下面的例子就是一个简单的状态机:
有一自动门,它可以被锁上,也可以开锁。当门锁上时,某人可以在它的槽中塞进一枚硬币。这样,门就会自动开锁,转变到开锁的状态;人通过后,门就会自动锁上。
对状态进行分析可得下图:
很容易看出此状态机的状态和状态转移条件。
好了,上面是对有限状态机进行了简单的介绍。接下来用一个简单的程序演示在Qt中的StateMachine的使用。
在本程序中只有一个widget,widget内有一个Label和一个Button用来显示及切换状态。
下面是widget.h及widget.cpp的内容
//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>