QML Application Developer Resources
QML is a declarative language that allows user interfaces to be described in terms of their visual components and how they interact and relate with one another. It is a highly readable language that was designed to enable components to be interconnected in a dynamic manner, and it allows components to be easily reused and customized within a user interface. Using the QtQuick module, designers and developers can easily build fluid animated user interfaces in QML, and have the option of connecting these user interfaces to any back-end C++ libraries.
This page links to all the information you need to start developing applications with QML and Qt Quick.
Other QML modules
Qt Quick only provides basic visual types, much of Qt's functionality is exposed to QML through other modules. If you require the functionality of those modules, you should browse their QML documentation. Qt Essentials modules exposing QML types include:
- QtMultimedia for playing and managing multimedia content and cameras.
- QtWebkit for rendering web content.
Quick Start
Code Samples and Demos
To learn more about uses of QML code, there are several code samples which show how QML types are used. In addition, there are several demos which show how QML code is used in applications.
- Qt Quick Code Samples
- QML Demos
Features And Use-Case Solutions
- Visual Elements in QML
- Responding to User Input in QML
- Animations in QML
- Displaying Text in QML
- Layouts in QML
- Style and Theme Support
- Integrating JavaScript in QML
In-Depth Documentation
What is QML?
QML is a user interface specification and programming language. It allows developers and designers alike to create highly performant, fluidly animated and visually appealing applications. QML offers a highly readable, declarative, JSON-like syntax with support for imperative JavaScript expressions combined with dynamic property bindings.
The QML language and engine infrastructure is provided by the Qt QML module. For in-depth information about the QML language, please see the Qt QML module documentation.
What is Qt Quick?
Qt Quick is the standard library of types and functionality for QML. It includes visual elements, interactive elements, animations, models and views, particle effects and shader effects. A QML application developer can get access to all of that functionality with a single import statement.
The QtQuick QML library is provided by the Qt Quick module. For in-depth information about the various QML types and other functionality provided by Qt Quick, please see the Qt Quick module documentation.
Advanced Application Development Topics
- Deploying QML Applications
- Performance Considerations and Suggestions
- Internationalization and Localization
- Testing and Debugging
- QML Coding Conventions
- Glossary of Terms
Release Notes and Porting Guides
- Qt QML Release Notes
- Qt Quick Release Notes
- Porting QML Applications to Qt 5