- Qt 6.12
- Qt Qml
- The QML Reference
- Qt 6.12.0 Reference Documentation

The QML Language

# The QML Reference

QML is a multi-paradigm language for creating highly dynamic applications. With QML, application building blocks such as UI components are declared and various properties set to define the application behavior. Application behavior can be further scripted through JavaScript, which is a subset of the language. In addition, QML heavily uses Qt, which allows types and other Qt features to be accessible directly from QML applications.

This reference guide describes the features of the QML language. Many of the QML types in the guide originate from the Qt Qml or Qt Quick modules.

- The QML Language
  - QML Basics
  - QML Documents
    - Structure of a QML Document
    - QML Object Attributes
  - Property Binding
  - Signal and Handler Event System
  - Import Statements
    - Importing QML Document Directories
    - Importing JavaScript Resources in QML
  - Property Shadowing and Override Semantics
  - Scope and Naming Resolution
  - Resource Loading and Network Transparency
- The QML Type System
  - QML Object Types
  - QML Value Types
  - QML Enumerations
  - QML Sequence Types
  - Singletons in QML
  - QML Attached Types
  - QML Namespaces
  - JavaScript Types
  - Data Type Conversion Between QML and C++
  - Interacting with QML Objects from C++
  - Integrating with JavaScript values from C++
  - Embedding C++ Objects into QML with Context Properties
- QML Modules
  - Defining Object Types through QML Documents
  - Defining QML Types from C++
    - Registering Types
    - Exposing Attributes of C++ Types to QML
    - Exposing State from C++ to QML
  - Tying it all together with CMake
  - Modernizing QML modules
  - Fine Tuning QML Modules
  - Port QML modules to CMake
  - Module Definition qmldir Files
  - Identified Modules
  - Legacy Modules
  - Creating C++ Plugins for QML
- JavaScript in QML
  - JavaScript Expressions in QML Documents
  - Dynamic QML Object Creation from JavaScript
  - Defining JavaScript Resources in QML
  - JavaScript Host Environment
    - QML Global Object
    - The Number JavaScript Object
    - The Date JavaScript Object
    - The XMLHttpRequest JavaScript Object
    - List of JavaScript Objects and Functions
  - Making Applications Scriptable with JavaScript

The QML Language