/**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Qt Software Information (qt-info@nokia.com) ** ** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the either Technology Preview License Agreement or the ** Beta Release License Agreement. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain ** additional rights. These rights are described in the Nokia Qt LGPL ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this ** package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** If you are unsure which license is appropriate for your use, please ** contact the sales department at qt-sales@nokia.com. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \title Declarative UI (QML) \page declarativeui.html \brief The Qt Declarative module provides a declarative framework for building highly dynamic, custom user interfaces. Qt Declarative UI provides a declarative framework for building highly dynamic, custom user interfaces. Declarative UI helps programmers and designers collaborate to build the animation rich, fluid user interfaces that are becoming common in portable consumer devices, such as mobile phones, media players, set-top boxes and netbooks. The Qt Declarative module provides an engine for interpreting the declarative QML language, and a rich set of \l {QML Elements}{QML elements} that can be used from QML. QML is an extension to \l {http://www.ecma-international.org/publications/standards/Ecma-262.htm} {JavaScript}, that provides a mechanism to declaratively build an object tree of QML elements. QML improves the integration between JavaScript and Qt's existing QObject based type system, adds support for automatic \l {Property Binding}{property bindings} and provides \l {Network Transparency}{network transparency} at the language level. The QML elements are a sophisticated set of graphical and behavioral building blocks. These different elements are combined together in \l {QML Documents}{QML documents} to build components ranging in complexity from simple buttons and sliders, to complete internet-enabled applications like a \l {http://www.flickr.com}{Flickr} photo browser. Qt Declarative builds on \l {QML for Qt programmers}{Qt's existing strengths}. QML can be be used to incrementally extend an existing application or to build completely new applications. QML is fully \l {Extending QML}{extensible from C++}. \section1 Getting Started: \list \o \l {Introduction to the QML language} \o \l {Tutorial}{Tutorial: 'Hello World'} \o \l {advtutorial.html}{Tutorial: 'Same Game'} \o \l {QML Examples and Walkthroughs} \o \l {Using QML in C++ Applications} \endlist \section1 Core QML Features: \list \o \l {QML Documents} \o \l {Property Binding} \o \l {JavaScript Blocks} \o \l {QML Scope} \o \l {Network Transparency} \o \l {Data Models} \o \l {anchor-layout.html}{Anchor-based Layout} \o \l {qmlstates.html}{States} \o \l {qmlanimation.html}{Animation} \o \l {qmlmodules.html}{Modules} \o \l {qmlfocus.html}{Keyboard Focus} \o \l {Extending types from QML} \o \l {Dynamic Object Creation} \endlist \section1 Reference: \list \o \l {QML Elements} \o \l {QML Global Object} \o \l {Extending QML} \o \l {QML Internationalization} \o \l {QtDeclarative Module} \o \l {Debugging QML} \endlist */