[Qt入门]17 Qt状态机框架——历史状态

原创文章,可以转载,转载时请以超链接形式保留本文地址、作者信息和本声明。

在上一节的例子中,我们使用了Qt状态机框架的分组状态实现了共享状态迁移的功能,基于上一节的状态图,我们考虑这样一种情况,在S1中任意子状态时,我们按下一个按钮中断了状态机,做一些操作,操作完毕后再恢复到原来的状态。

上述这种情况,Qt状态机框架提供了历史状态——QHistoryState类用于适应这种模型。具体说来,假设S1中有S11、S12和S13三个状态,当按下按钮中断状态机执行后,S1迁移到S2状态,这种情况下,如果S1处于S11退出,那QHistoryState保存S11状态,如果S1处于S12时退,那QHistoryState保存S12状态。官方文档原文:A history state (QHistoryState object) is a pseudo-state that represents the child state that the parent state was in the last time the parent state was exited.

QHistoryState记录了父状态退出时,父状态所处于的那个子状态。看代码更清楚一些。

声明:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindo
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值