MonthGrid QML Type

Ein Raster von Tagen für einen Kalendermonat. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

Control

Eigenschaften

Signale

Detaillierte Beschreibung

MonthGrid stellt einen Kalendermonat in einem Gitter dar. Der Inhalt wird für ein bestimmtes month und year berechnet, unter Verwendung des angegebenen locale.

MonthGrid {
    month: Calendar.December
    year: 2015
    locale: Qt.locale("en_US")
}

MonthGrid kann als eigenständiges Steuerelement verwendet werden, wird aber am häufigsten 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 visuelle Erscheinungsbild von MonthGrid kann durch die Implementierung eines custom delegate geändert werden.

Bei der Anzeige eines bestimmten Monats zeigt MonthGrid die Tage des vorherigen und des nächsten Monats an. Das bedeutet, dass es immer sechs Zeilen anzeigt, auch wenn die erste oder letzte Zeile vollständig in einem angrenzenden Monat liegt.

Tage lokalisieren

Um Tage zu lokalisieren, verwenden Sie Locale.toString(). Zum Beispiel, um Tageszahlen in einem arabischen Gebietsschema 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, und CalendarModel.

Eigenschaft Dokumentation

delegate : Component

Diese Eigenschaft enthält den Elementdelegaten, der jeden Tag visualisiert.

Zusätzlich zur Eigenschaft index ist eine Liste von Modelldatenrollen im Kontext jedes Delegaten verfügbar:

model.date: dateDas Datum der Zelle
model.day: intDie Nummer des Tages
model.today: boolOb der Delegat den heutigen Tag darstellt
model.weekNumber: intDie Wochennummer
model.month: intDie Nummer des Monats
model.Jahr: intDie Nummer des Jahres

Das folgende Snippet zeigt die Standardimplementierung des Item-Delegaten. Es kann als Ausgangspunkt für die Implementierung von benutzerdefinierten Delegaten verwendet werden.

delegate: Text {
    horizontalAlignment: Text.AlignHCenter
    verticalAlignment: Text.AlignVCenter
    opacity: model.month === control.month ? 1 : 0
    text: model.day
    font: control.font

    required property var model
}

month : int

Diese Eigenschaft enthält die Nummer des Monats. Der Standardwert ist der aktuelle Monat.

Das Qt Quick Kalendermodul verwendet 0-basierte Monatsnummern, um mit dem JavaScript-Datums-Typ, der von der QML-Sprache verwendet wird, konsistent zu sein. Das bedeutet, dass Date::getMonth() unverändert an die Methoden übergeben werden kann. Beim direkten Umgang mit Monatszahlen wird dringend empfohlen, die folgenden Aufzählungswerte zu verwenden, um Verwirrung zu vermeiden.

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 wird aus Gründen der Bequemlichkeit bereitgestellt. MonthGrid selbst stellt den Titel nicht dar. Der Standardwert besteht aus dem Monatsnamen, der mit locale formatiert wird, und der Jahreszahl.


year : int

Diese Eigenschaft enthält die Nummer des Jahres.

Der Wert muss im Bereich von -271820 bis 275759 liegen. Der Standardwert ist das aktuelle Jahr.


Signal Dokumentation

clicked(date date)

Dieses Signal wird ausgesendet, wenn date angeklickt wird.

Hinweis: Der entsprechende Handler ist onClicked.


pressAndHold(date date)

Dieses Signal wird ausgegeben, wenn date gedrückt und gehalten wird.

Hinweis: Der entsprechende Handler ist onPressAndHold.


pressed(date date)

Dieses Signal wird ausgegeben, wenn date gedrückt wird.

Hinweis: Der entsprechende Handler ist onPressed.


released(date date)

Dieses Signal wird ausgegeben, wenn date losgelassen wird.

Hinweis: Der entsprechende Handler ist onReleased.


© 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.