Bonjour,

J'ai un soucis avec les transitions d'une QScxmlStateMachine.

J'ai deux petites machines d'états dans mon soft. Je me suis aperçu que le changement d'état de ma seconde machine d'états sm via l'activation d'une transition (sm.submitEvent("la_transition")) n'est pas immédiat.
D'après ce que j'ai constaté, les évènements d'une QScxmlStateMachine sont traités en derniers, juste avant de rendre la main à l'utilisateur. Or j'ai besoin de connaître l'état actif de sm avant...

Je traite l'affaire en appelant juste après submitEvent() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
Mais la doc Qt déconseille cette méthode.

Comment faire alors ???
J'ai pensé à récupérer un handler vers la QEventLoop de la QApplication, mais rien ne semble prévu pour ça.