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()
сигнал.
Да, сигнал enter () QState может использоваться в качестве источника перехода.