"双向按钮"示例演示了如何使用状态机框架实现简单的状态机,该状态机在单击按钮时切换当前状态。
应用程序的main()函数从构造应用程序对象,按钮和状态机开始。
int main(int argc, char **argv){
QApplication app(argc, argv);
QPushButton button;
QStateMachine machine;
状态机有两个状态;on和off。进入任何一种状态时,按钮的文字都会进行相应的设置。
QState *off = new QState();
off->assignProperty(&button, "text", "Off");
off->setObjectName("off");
QState *on = new QState();
on->setObjectName("on");
on->assignProperty(&button, "text", "On");
当状态机处于该off状态并单击该按钮时,它将过渡到该on状态;当状态机处于该on状态并单击该按钮时,它将转换为该off状态。
<