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

Reply via email to