/**************************************************************************** ** ** Copyright (C) 2011 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$ ** 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 Technology Preview License Agreement accompanying ** this package. ** ** 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 Qt Declarative 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 Qt Declarative 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 Qt Declarative Module. \section1 Getting Started \list \o \l{What's new in Qt Quick} \o \l{Introduction to the QML language} \o \l{QML for Qt Programmers} \o \l{Getting Started Programming with QML} \o \l{Intro to 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{Anchor-Based Layout in QML} \o \l{Writing QML Components: Properties, Methods and Signals} \o \l{QML Scope} \o \l{QML Modules} \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{QML Basic Types}{QML Basic Data Types} \o \l{Using QML Positioner and Repeater Items} \o \l{QML Data Models} \o \l{Presenting Data with QML} \o \l{Network Transparency} \endlist \section1 Architecture \list \o \l{Qt Declarative UI Runtime} \o \l{Integrating JavaScript} \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 Basic Types} \o \l{QML Global Object} \o \l{QML Internationalization} \o \l{QML Security} \o \l{Qt Declarative 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 */