Hi Adriano. Currently, 'QT += declarative' adds the headers and library for the declarative UI engine, while 'QT += quick' adds the headers and library for the Qt Quick 2 QML components. An application may choose to use the declarative engine without the bundled components. In the first version of Qt Quick, both aspects were bundled together into a single library, which is now present in Qt 5 as the 'quick1' module.
The plan is to have these both available in Qt 5 as independent modules. For this, we need to have different module names, and symbol names that do not clash. I will rename all the classes currently named 'QDeclarative...' in the qtdeclarative module to 'Qml...' or 'QQuick...' as appropriate. This is slightly held up by the fact that we would like a small change to moc to preserve backward compatibility. Matt From: ext Adriano Rezende [mailto:atd...@gmail.com] Sent: Saturday, February 04, 2012 4:34 AM To: Vogt Matthew (Nokia-MP/Brisbane) Cc: qt-qml@qt.nokia.com Subject: Re: [Qt-qml] Separation of QtQuick 1 from QtDeclarative repo On Fri, Feb 3, 2012 at 1:39 AM, <matthew.v...@nokia.com<mailto:matthew.v...@nokia.com>> wrote: As sent to the qt-development list: As the first part of the changes described by QTBUG-23737, we have now separated version 1 of Qt Quick from the qt5 qtdeclarative module. The implementation of Qt Quick 1 is now hosted in the 'qtquick1' repository ( http://qt.gitorious.org/qt/qtquick1 ). For maximum compatibility with the existing version of Qt Quick, this repository was created by importing the current implementation of Qt Quick from 4.8, using the JavaScriptCore engine, modified to build in the Qt5 environment. This repo is not yet integrated into the qt5 meta repo. The qtquick1 repo produces a single library (QtQuick1) containing both the declarative engine and the Qt Quick 1 QML elements. The 'qmlviewer' utility is now hosted in the qtquick1 repo, and only loads QML files importing version 1 of QtQuick. The 'qmlscene' utility remains in the qtdeclarative repo, and only loads QML files importing version 2 of QtQuick. Code linking against the qtquick1 implementation of Qt Quick should specify 'QT += quick1'. Code linking against the current version of the declarative engine should specify 'QT += declarative', and 'Qt += quick' to link against the QtQuick 2 QML elements. Why is it needed to import 'declarative' and 'quick' for QtQuick2? I think it would be better to have 'QT += declarative' for QtQuick1 and 'QT += quick' for QtQuick2. Is there a plan to share a common module for QtQuick1 and QtQuick2 or it will have duplicated code for the common parts? If no sharing is planned it would also be better to change the class names in the declarative module, so it would not result in name clashes when importing qtquick1 and qtquick2. Br, Adriano
_______________________________________________ Qt-qml mailing list Qt-qml@qt.nokia.com http://lists.qt.nokia.com/mailman/listinfo/qt-qml