Qt World Summit: Register Today!

QScxml set state

  • I am connecting to scxml states with a QWidget, and would like to be able to provide a "manual mode" for the state machine when stopped by allowing the application to programmatically set the current state. Is this even possible? If so, how?


  • Lifetime Qt Champion


    Do you mean something like submitting events by hand ?

  • No. we'd like to (for our own nefarious purposes) be able to set a new current state, even when there is no transition to that state from the current state.

  • Lifetime Qt Champion

    In that case you should read the class implementation to see how its internal is working and how you might be able to influence that.

  • Yea, I've been doing a lot of reading class implementations, before I asked the question.

    So are you saying it can be done? Which class implementation exactly? By what method?

  • Lifetime Qt Champion

    What class did you read ?

    I'm not confirming nor informing the feasibility of what you want to achieve since I don't know exactly what you want to achieve.

    I was thinking about the QScxmlStateMachine class as a starting point.

  • It would probably be easier to answer which Scxml class I didn't read up on. So I've looked at QScxmlStateMachine many times. There's something in the Scxml spec about transitions with NULL ID's, but I've not been able to make it work.

    I stated what I want to do in my original post; I'll state again, in a slightly different form, so you can confirm and/or inform on feasibility: I want to know how (or if it's even possible) to force the state machine to a given state without a transition/target.

    I understand that you're probably no Scxml expert, so It's okay if you don't have the answers. But maybe you know someone who is an expert?


Log in to reply