我有一个应用程序,其中UI由QStateMachine
驱动,某些状态可以描述为“不可中断”:输入状态后,用户必须与UI交互,完成后然后可以退出状态,但过渡可能取决于外部事件。
这就是我要说明的问题:
A : initial state
B : "non interruptible" state
C, D, .. : other states
然后是一些过渡:
event1 -> transition A_to_B
event2 -> transition B_to_C
event3 -> transition B_to_D
现在,应用程序启动状态机并输入A:
1-用户单击触发QSignalTransition
(事件1)的UI。
2-在B中,远程服务器向应用发送一些消息,这应该定义我们是否要输入C(事件2)或D(事件3),但必须在B正确退出后才能进入。
问题是,如果我们静态定义过渡(在启动状态机之前),那么当发送event2或event3时,过渡可能会导致B被中断(例如,用户尚未完成选择操作)
一旦知道我们需要哪一种状态,是否有可能在2种状态之间动态转换?
希望描述清楚。
谢谢。