To understand the reason of the conversion check QTBUG-84909.
The most important classes to be converted are:
These are used really often in QML code, and failing to convert them
would mean missing out on some huge opportunities to improve generated code.
However, it is possible to use any QObject in QML. If the properties are not
converted, using them in bindings will go the slow path. In particular,
the classes with Q_PROPERTY below are available from modules commonly
used with QtQuick in QML. Some of them are obviously more important than
others. For example QIntValidator is inherited by QQuickIntValidator,
and that one is registered as a QML type. QPluginLoader, while
theoretically accessible, is not so easy to stumble over in QML.
Furthermore, any additional module that exposes types to QML, should
convert the public ones to QProperty before being released for the first
time with a new major version. For example QtScxml should definitely
convert QScxmlStateMachine and friends. Otherwise working with that in
QML will be slow for all of Qt6. The same holds for the relevant classes
in QtTest, and probably quite a few other modules.
QML types which are only exported via QML (no public header) can be converted after the 6.0 release too as the property conversion is compatible to QML only users.