Конечный автомат Qt: Как установить защиту в исходное состояние?
Из документации конечного автомата Qt я могу установить в основном состоянии начальное подсостояние.
QStateMachine machine;
QState *s1 = new QState();
machine.addState(s1);
machine.setInitialState(s1);
Я также могу добавить охрану при переходе между разными состояниями.
Но как я могу добавить охрану в начальное состояние.
QState *s1 = new QState();
QState *s2 = new QState();
machine.addState(s1);
machine.addState(s2);
machine.setInitialState(s1, ifblabla_istrue);
machine.setInitialState(s2, ifblabla_isfalse);
0 ответов
Я работал с фреймворками диаграмм состояний, и не похоже, что Qt рассматривает это как нормальный переход. Я думаю, вам придется создать пуэдо-состояние "init", в которое войдет setInitialState, а затем вам нужно будет установить охрану при выходе из этого состояния.