QStateMachine立即从虚拟状态转换

时间:2013-10-14 14:18:55

标签: c++ qt qstatemachine

为了根据转换设置对象属性,我需要两个立即过渡的中间状态:

   A       initial state
 Ta Tb     different transitions
 Aa  Ab    (these are only used to set an objects property depending on transition)
 TB TB     both should immediately "transit"
   B       objects property used via entered()/exited() signals

(或者,B可能可以重复以直接设置每个相应的属性。)

状态的输入()信号可以用作自己的转换源吗?

2 个答案:

答案 0 :(得分:3)

只需向状态添加无条件转换:

TB->addTransition(B);

这是惯用的,也比使用与QSignalTransition信号耦合的entered()便宜。

参考:http://doc.qt.io/qt-5/statemachine-api.html#targetless-transitions

答案 1 :(得分:0)

是的,QState的输入()信号可以用作转换源。