MonthGrid QML Type
Eine Tagesübersicht für einen Kalendermonat. Mehr...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
Eigenschaften
Signale
- clicked(date date)
- pressAndHold(date date)
- pressed(date date)
- released(date date)
Ausführliche Beschreibung
MonthGrid stellt einen Kalendermonat in einem Raster dar. Der Inhalt wird für einen bestimmten month und year unter Verwendung des angegebenen locale berechnet.

MonthGrid {
month: Calendar.December
year: 2015
locale: Qt.locale("en_US")
}MonthGrid kann als eigenständiges Steuerelement verwendet werden, wird jedoch meist in Verbindung mit DayOfWeekRow und WeekNumberColumn eingesetzt. Unabhängig vom Anwendungsfall bleibt die Positionierung des Rasters dem Benutzer überlassen.

GridLayout {
columns: 2
DayOfWeekRow {
locale: grid.locale
Layout.column: 1
Layout.fillWidth: true
}
WeekNumberColumn {
month: grid.month
year: grid.year
locale: grid.locale
Layout.fillHeight: true
}
MonthGrid {
id: grid
month: Calendar.December
year: 2015
locale: Qt.locale("en_US")
Layout.fillWidth: true
Layout.fillHeight: true
}
}Das Erscheinungsbild von MonthGrid lässt sich durch die Implementierung eines „ custom delegate “ anpassen.
Bei der Anzeige eines beliebigen Monats zeigt MonthGrid Tage aus dem vorherigen und dem nächsten Monat an. Das bedeutet, dass immer sechs Zeilen angezeigt werden, selbst wenn die erste oder letzte Zeile vollständig in einem angrenzenden Monat liegt.
Lokalisierung von Tagen
Um Tage zu lokalisieren, verwenden Sie ` Locale.toString()`. Um beispielsweise Tageszahlen in einer arabischen Sprachumgebung anzuzeigen:
MonthGrid {
id: monthGrid
month: Calendar.December
year: 2015
locale: Qt.locale("ar")
delegate: Text {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
opacity: model.month === monthGrid.month ? 1 : 0
text: monthGrid.locale.toString(model.date, "d")
font: monthGrid.font
required property var model
}
}Siehe auch „ DayOfWeekRow“ , „ WeekNumberColumn “, „ CalendarModel “ und „Qt Quick Controls – Veranstaltungskalender“.
Dokumentation zu den Eigenschaften
delegate : Component
Diese Eigenschaft enthält den Element-Delegaten, der den jeweiligen Tag visualisiert.
Zusätzlich zur Eigenschaft „ index “ steht im Kontext jedes Delegaten eine Liste von Modelldatenrollen zur Verfügung:
| model.date: Datum | Das Datum der Zelle |
| model.day: int | Die Nummer des Tages |
| model.today: bool | Gibt an, ob der Delegat den heutigen Tag repräsentiert |
| model.weekNumber: int | Die Wochennummer |
| model.month: int | Die Nummer des Monats |
| model.year: int | Die Jahreszahl |
Der folgende Codeausschnitt zeigt die Standardimplementierung des Item-Delegaten. Er kann als Ausgangspunkt für die Implementierung benutzerdefinierter Delegaten dienen.
MonthGrid übernimmt nicht die Eigentümerschaft des Delegaten.
delegate: Text {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
opacity: model.month === control.month ? 1 : 0
text: model.day
font: control.font
color: control.palette.text
required property var model
}month : int
Diese Eigenschaft enthält die Nummer des Monats. Der Standardwert ist der aktuelle Monat.
Kalenderbezogene Typen in Qt Quick Controls verwenden 0-basierte Monatsnummern, ähnlich wie die JavaScript-Date-Objekte. Dies unterscheidet sich jedoch von QDate, wo die Monate beginnend mit 1 nummeriert werden.
Um Verwechslungen zu vermeiden, können Sie die folgenden Aufzählungswerte verwenden:
| Konstante | Beschreibung |
|---|---|
Calendar.January | Januar (0) |
Calendar.February | Februar (1) |
Calendar.March | März (2) |
Calendar.April | April (3) |
Calendar.May | Mai (4) |
Calendar.June | Juni (5) |
Calendar.July | Juli (6) |
Calendar.August | August (7) |
Calendar.September | September (8) |
Calendar.October | Oktober (9) |
Calendar.November | November (10) |
Calendar.December | Dezember (11) |
Siehe auch Calendar.
title : string
Diese Eigenschaft enthält einen Titel für den Kalender.
Diese Eigenschaft dient der Übersichtlichkeit. „ MonthGrid “ selbst zeigt den Titel nicht an. Der Standardwert besteht aus dem Monatsnamen, der mithilfe von „ locale “ formatiert wurde, und der Jahreszahl.
year : int
Diese Eigenschaft enthält die Jahreszahl.
Der Wert muss im Bereich von -271820 bis 275759 liegen. Der Standardwert ist das aktuelle Jahr.
Signal-Dokumentation
clicked(date date)
Dieses Signal wird ausgelöst, wenn auf „ date “ geklickt wird.
Hinweis: Der entsprechende Handler lautet „ onClicked “.
pressAndHold(date date)
Dieses Signal wird ausgelöst, wenn date gedrückt und gehalten wird.
Hinweis: Der entsprechende Handler ist „ onPressAndHold “.
pressed(date date)
Dieses Signal wird ausgelöst, wenn date gedrückt wird.
Hinweis: Der entsprechende Handler ist onPressed.
released(date date)
Dieses Signal wird ausgelöst, wenn die Taste „ date “ losgelassen wird.
Hinweis: Der entsprechende Handler ist „ onReleased “.
© 2026 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.