CalendarModel QML Type | Qt Quick Controls | Qt 6.11.2
Description: A calendar model.

- Qt 6.11
- Qt Quick Controls
- QML Types
- CalendarModel
- Qt 6.11.2 Reference Documentation

# CalendarModel QML Type

A calendar model. More...

Import Statement: | `import QtQuick.Controls`

- List of all members, including inherited members

## Properties

- from : date
- to : date

## Methods

- int indexOf(Date date)
- int indexOf(int year, int month)
- int monthAt(int index)
- int yearAt(int index)

## Detailed Description

CalendarModel provides a way of creating a range of MonthGrid instances. It is typically used as a model for a ListView that uses MonthGrid as a delegate.

     ListView {
         id: listview

         width: 200; height: 200
         snapMode: ListView.SnapOneItem
         orientation: ListView.Horizontal
         highlightRangeMode: ListView.StrictlyEnforceRange

         model: CalendarModel {
             from: new Date(2015, 0, 1)
             to: new Date(2015, 11, 31)
         }

         delegate: MonthGrid {
             width: listview.width
             height: listview.height

             month: model.month
             year: model.year
             locale: Qt.locale("en_US")
         }

         ScrollIndicator.horizontal: ScrollIndicator { }
     }

In addition to the `index` property, a list of model data roles are available in the context of each delegate:

model.month : int | The number of the month
model.year : int | The number of the year

Calendar-related types in Qt Quick Controls use 0-based month numbers, like the JavaScript Date objects. However, this differs from QDate, where the months are numbered starting from 1.

To avoid confusion, you can use the following enumeration values:

Constant | Description
--- | ---
`Calendar.January` | January (0)
`Calendar.February` | February (1)
`Calendar.March` | March (2)
`Calendar.April` | April (3)
`Calendar.May` | May (4)
`Calendar.June` | June (5)
`Calendar.July` | July (6)
`Calendar.August` | August (7)
`Calendar.September` | September (8)
`Calendar.October` | October (9)
`Calendar.November` | November (10)
`Calendar.December` | December (11)

See also MonthGrid and Calendar.

## Property Documentation

### from : date

This property holds the start date.

### to : date

This property holds the end date.

## Method Documentation

### int indexOf(Date date)

Returns the model index of the specified date.

### int indexOf(int year, int month)

Returns the model index of the specified year and month.

### int monthAt(int index)

Returns the month number at the specified model index.

### int yearAt(int index)

Returns the year number at the specified model index.