Qt 5.6 | Qt Labs Controls | QML Types | CalendarModel QML Type

Qt 5.6.3 Reference Documentation

# CalendarModel QML Type

A calendar model. More...

Import Statement: | import Qt.labs.calendar 1.0

- List of all members, including inherited members

## Properties

- from : date
- to : date

## Methods

- int indexOf(int year, int month)
- int indexOf(Date date)
- 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

The Qt Labs Calendar module uses 0-based month numbers to be consistent with the JavaScript Date type, that is used by the QML language. This means that `Date::getMonth()` can be passed to the methods as is. When dealing with month numbers directly, it is highly recommended to use the following enumeration values to avoid confusion.

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)

Note: Types in the Qt.labs module are not guaranteed to remain compatible in future versions.

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(int year, int month)

Returns the model index of the specified year and month.

int indexOf(Date date)

Returns the model index of the specified date.

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.