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() сигнал.

Ссылка: http://doc.qt.io/qt-5/statemachine-api.html

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

Другие вопросы по тегам