Чтобы установить свойство объекта в зависимости от перехода, мне нужны два промежуточных состояния, которые немедленно переходят дальше:
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 может быть дублирован, чтобы установить каждое соответствующее свойство напрямую.)
Может ли сигнал ввода состояния () использоваться в качестве собственного источника перехода?
Просто добавьте безусловный переход в состояние:
TB->addTransition(B);
Это идиоматично, а также дешевле, чем использование QSignalTransition
в сочетании с entered()
сигнал.
Ref: http://doc.qt.io/qt-5/statemachine-api.html#targetless-transitions
Да, сигнал enter () QState может использоваться в качестве источника перехода.