Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

Changes to Qt State Machine

Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.

We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.

In this topic we summarize those changes in Qt State Machine module, and provide guidance to handle them.


The Qt StateMachine module is generally speaking source compatible with the Qt5 version and users of the library should be able to continue with no or minor changes to their project.


The QSignalTransition::senderObject() getter and the related Q_PROPERTY now also use const QObject*. These are now better aligned with the setter QSignalTransition::setSenderObject(const QObject*) that takes a const QObject* as a parameter.

Build system

As with Qt 6 in general, the Qt State Machine module has cmake support in addition to qmake.

QML imports

The QML import versioning is optional unless one has a specific reason for not using the latest. Generally speaking the versioned imports work from version 5.8 to 6.x, where 'x' is the current minor release.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded