CalendarModel QML Type | Qt Quick Controls (original) (raw)

A calendar model. More...

Import Statement: import QtQuick.Controls

Properties

Methods

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 Quick 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)

See also MonthGrid and Calendar.

Property Documentation

This property holds the start date.

This property holds the end date.

Method Documentation

Returns the model index of the specified date.

Returns the model index of the specified year and month.

Returns the month number at the specified model index.

Returns the year number at the specified model index.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.