Auf dieser Seite

MonthGrid QML Type

Eine Tagesübersicht für einen Kalendermonat. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

Control

Eigenschaften

Signale

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.

Monatsübersicht mit Kalendertagen

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.

Monatsübersicht im Kalenderlayout

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: DatumDas Datum der Zelle
model.day: intDie Nummer des Tages
model.today: boolGibt an, ob der Delegat den heutigen Tag repräsentiert
model.weekNumber: intDie Wochennummer
model.month: intDie Nummer des Monats
model.year: intDie 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:

KonstanteBeschreibung
Calendar.JanuaryJanuar (0)
Calendar.FebruaryFebruar (1)
Calendar.MarchMärz (2)
Calendar.AprilApril (3)
Calendar.MayMai (4)
Calendar.JuneJuni (5)
Calendar.JulyJuli (6)
Calendar.AugustAugust (7)
Calendar.SeptemberSeptember (8)
Calendar.OctoberOktober (9)
Calendar.NovemberNovember (10)
Calendar.DecemberDezember (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.