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

Решение

Просто добавьте безусловный переход в состояние:

TB->addTransition(B);

Это идиоматично, а также дешевле, чем использование QSignalTransition в сочетании с entered() сигнал.

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

3

Другие решения

Да, сигнал enter () QState может использоваться в качестве источника перехода.

0

По вопросам рекламы [email protected]