- Qt 6.8
- Qt Qml
- The QML Reference
- Qt 6.8.3 Reference Documentation

# 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.

- QML Syntax Basics
  - Import Statements
  - Object Declarations
    - Child Objects
  - Comments
- QML Object Attributes
  - The id Attribute
  - Property Attributes
  - Signal Attributes
  - Method Attributes
  - Attached Properties and Attached Signal Handlers
  - Enumeration Attributes
- Property Binding
- Signal and Handler Event System
- Integrating QML and JavaScript
  - Using JavaScript Expressions with QML
  - Dynamic QML Object Creation from JavaScript
  - Defining JavaScript Resources In QML
  - Importing JavaScript Resources In QML
  - JavaScript Host Environment
  - Configuring the JavaScript engine
- The QML Type System
  - QML Value Types
  - JavaScript Types
  - QML Object Types
    - Defining Object Types from QML
    - Defining Object Types from C++
  - QML Sequence Types
  - QML Namespaces
- QML Modules
  - Specifying A QML Module
  - Supported QML Module Types
    - Identified Modules
    - Legacy Modules
  - Providing Types and Functionality in a C++ Plugin
- QML Documents
  - Structure of a QML Document
  - Syntax of the QML Language
  - Defining Object Types through QML Documents
    - Defining an Object Type with a QML File
    - Accessible Attributes of Custom Types
  - Resource Loading and Network Transparency
  - Scope and Naming Resolution