2

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

   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 以直接设置每个相应的属性。)

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

4

2 回答 2

3

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

TB->addTransition(B);

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

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

于 2013-10-14T19:48:58.897 回答
0

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

于 2013-10-14T15:28:26.443 回答