/**************************************************************************** ** ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:FDL$ ** Commercial Usage ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in a ** written agreement between you and Nokia. ** ** GNU Free Documentation License ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of this ** file. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@nokia.com. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \title Qt Quick \page qtquick.html \ingroup qt-gui-concepts \brief Qt Quick provides a declarative framework for building highly dynamic, custom user interfaces. \section1 Introduction Qt Quick is a collection of technologies that are designed to help developers create the kind of intuitive, modern-looking, fluid user interfaces that are increasingly used on mobile phones, media players, set-top boxes and other portable devices. Qt Quick consists of a rich set of user interface elements, a declarative language for describing user interfaces and a language runtime. A collection of C++ APIs is used to integrate these high level features with classic Qt applications. \section2 QML, Elements and the QtDeclarative Module User interfaces and their behavior are described using QML, an extension to \l{About JavaScript}{JavaScript} that lets developers and designers use a declarative syntax to specify each user interface in terms of \l{QML Elements}{QML elements}. These elements are a sophisticated set of graphical and behavioral building blocks that can be combined together in \l{QML Documents}{QML documents} to build components ranging in complexity from simple buttons and sliders, to complete Internet-enabled applications. 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 QtDeclarative module implements the interface between the QML language and the elements available to it. It also provides a C++ API that can be used to load and interact with QML files from within Qt applications. Qt Quick 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 in C++}{extensible from C++} through the QtDeclarative Module. \section1 Getting Started \list \o \l{Introduction to the QML language} \o \l{QML for Qt Programmers} \o \l{Getting Started Programming with QML} \o \l{Beginning Qt Quick} \endlist \list \o \l{QML Tutorial}{Tutorial: "Hello World"} \o \l{QML Advanced Tutorial}{Tutorial: "Same Game"} \o \l{QML Examples and Demos} \endlist \section1 QML Concepts \list \o \l{QML Documents} \o \l{Property Binding} \o \l{QML Scope} \o \l{QML Modules} \o \l{Anchor-based Layout in QML} \endlist \section1 User Interaction \list \o \l{Keyboard Focus in QML} \o \l{QML States} \o \l{QML Animation} \endlist \section1 Handling Data \list \o \l{Using QML Positioner and Repeater Items} \o \l{QML Data Models} \o \l{Network Transparency} \endlist \section1 Architecture \list \o \l{Qt Declarative UI Runtime} \o \l{Integrating JavaScript} \o \l{Extending types from QML} \o \l{Dynamic Object Management in QML} \endlist \section1 Using QML with C++ \list \o \l{Qt Declarative UI Runtime} \o \l{Using QML in C++ Applications} \o \l{Integrating QML with existing Qt UI code} \o \l{Tutorial: Writing QML extensions with C++} \o \l{Extending QML in C++} \endlist \section1 Reference \list \o \l{QML Elements} \o \l{QML Global Object} \o \l{QML Internationalization} \o \l{QML Security} \o \l{QtDeclarative Module} \o \l{Debugging QML} \o \l{QML Viewer} \o \l{QML Performance} \o \l{QML Coding Conventions} \endlist \section1 Online Examples \list \o Forum Nokia: \l{http://wiki.forum.nokia.com/index.php/Qt_Quick_examples_for_porting}{Qt Quick examples for porting} \endlist */