Qt Quick is a collection of technologies that are designed to help developers create the kind of intuitive, modern, and 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. Version 2.1 of the Qt Creator integrated development environment (IDE) introduces tools for developing Qt Quick applications.
[Missing image qml-clocks-example.png]
QML is a high level language that uses a declarative syntax to define how the user interface should appear and behave. QML is used to build interfaces using a collection of standard elements for fundamental user interface features. These elements expose properties that can be changed at run-time, allowing visual elements to be animated and used in transitions between states of the user interfaces.

A Dial element might define a value property that can be used to control the position of the needle on the dial. The element could be declared to use a slider that adjusts the value of this property.
Building user interfaces by importing these elements and linking their properties together is one of the fundamental features of QML and Qt Quick.
Behind the scenes, QML leverages the power and efficiency of the Qt libraries to provide rendering facilities, perform processor-intensive operations, and to access components written in C++.
The QML language also gives the developer more flexibility to create parts of their user interface by allowing JavaScript to be used to implement high level user interface logic.
How to Learn QML introduces the reader to the language and declarative concepts.
To make Qt Quick possible, Qt introduces the QtQml module. The module creates a JavaScript runtime that QML runs under with a Qt based backend. Because QtQml and QML are built upon Qt, they inherit many of Qt's technology, namely the signals and slots mechanism and the meta-object system. Data created using C++ are directly accessible from QML, and QML objects are also accessible from C++ code.
The QtQml module separates the interface logic in QML from the application logic in C++. It also allows the range of standard QML elements to be extended with new ones written in C++.
Qt Creator is a complete integrated development environment (IDE) for creating applications with Qt Quick and the Qt application framework.
[Missing image qmldesigner-visual-editor.png]
The main goal for Qt Creator is meeting the development needs of Qt Quick developers who are looking for simplicity, usability, productivity, extendibility and openness, while aiming to lower the barrier of entry for newcomers to Qt Quick and Qt. The key features of Qt Creator allow UI designers and developers to accomplish the following tasks:
[Missing image qtcreator-target-selector.png]
Developing Qt Quick Applications with Creator provides an overview of user interface development using the visual Qt Quick Designer tool.
How to Learn QML introduces the reader to the language and declarative concepts.
The QML Reference page has links to various Qt Quick topics such as QML features, addons, and tools.
The Qt Quick Code Samples page has a gallery of QML applications.