Introduction to Qt Quick

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.

The QML Language

QML is a high level, scripted language. Its commands, more correctly elements, leverage the power and efficiency of the Qt libraries to make easy to use commands that perform intuitive functions. Drawing a rectangle, displaying an image, and application events -- all are possible with declarative programming.

The language also allows more flexibility of these commands by using JavaScript to implement the high level user interface logic.

A QML element usually has various properties that help define the element. For example, if we created an element called Circle then the radius of the circle would be a property. Building user interfaces by importing these elements is one of the great feature of QML and Qt Quick.

QtDeclarative Module

To make Qt Quick possible, Qt introduces the QtDeclarative module. The module creates a JavaScript runtime that QML runs under with a Qt based backend. Because QtDeclarative 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.

In conjunction with the QML language, the QtDeclarative module separates the interface logic in QML from the application logic in C++.

Creator Tools

Qt Creator is a complete integrated development environment (IDE) for creating applications with Qt Quick and the Qt application framework.

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:

  • Get started with Qt Quick application development quickly and easily with examples, tutorials, and project wizards.
  • Design application user interface with the integrated editor, Qt Quick Designer, or use graphics software to design the user interface and use scripts to export the design to Qt Quick Designer.
  • Develop applications with the advanced code editor that provides new powerful features for completing code snippets, refactoring code, and viewing the element hierarchy of QML files.
  • Build and deploy Qt Quick applications that target multiple desktop and mobile platforms, such as Microsoft Windows, Mac OS X, Linux, Symbian, and Maemo.
  • Debug JavaScript functions and execute JavaScript expressions in the current context, and inspect QML at runtime to explore the object structure, debug animations, and inspect colors.
  • Deploy applications to mobile devices and create application installation packages for Symbian and Maemo devices that can be published in the Ovi Store and other channels.
  • Easily access information with the integrated context-sensitive Qt Help system.

Where to Go from Here

The Qt Quick page has links to various Qt Quick topics such as QML features, addons, and tools.

The QML Examples and Demos page has a gallery of QML applications.

License Information

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.