[Development] QML engine C++ class renaming

martin.jones at nokia.com martin.jones at nokia.com
Wed Feb 15 09:22:17 CET 2012

This is a heads-up regarding the renaming of QML C++ classes.  As per https://bugreports.qt-project.org/browse/QTBUG-23737 class names that currently begin with QDeclarative* will be renamed Qml*, for example QDeclarativeEngine will become QmlEngine.

This change is needed because QtQuick 1 has been split out into its own library including its own (JSC-based) engine.  We needed to do this because there are changes being done in the QML2 engine that are not compatible with QML1/QtQuick1.  This has caused some class duplication which prevents Quick2 and Quick1 from being used together.  We have little choice but to rename some classes.  The new class names are far better than the old, so there is an aesthetic improvement for QML2 as a much welcomed side effect.

The changes are:
- QDeclarative* classes renamed to Qml*
- any class previously imported as e.g. <QtDeclarative/QDeclarativeEngine> will become <QtQml/QmlEngine>
- to use QML/QtQuick2: 'QT += declarative quick' becomes 'QT += qml quick'
- many private classes are also renamed to either Qml* or QQuick*

We expect this change to be made within the next week.


More information about the Development mailing list