Sur cette page

MonthGrid QML Type

Une grille de jours pour un mois calendaire. Plus d'informations...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propriétés

Signaux

Description détaillée

MonthGrid présente un mois du calendrier dans une grille. Le contenu est calculé pour un month et un year donnés, en utilisant le locale spécifié.

Grille de mois affichant les jours du calendrier

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

MonthGrid peut être utilisé comme un contrôle autonome, mais il est le plus souvent utilisé en conjonction avec DayOfWeekRow et WeekNumberColumn. Quel que soit le cas d'utilisation, le positionnement de la grille est laissé à l'appréciation de l'utilisateur.

Grille de mois dans la présentation du calendrier

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
    }
}

L'apparence visuelle de MonthGrid peut être modifiée en implémentant une page custom delegate.

Lors de la visualisation d'un mois donné, MonthGrid affiche les jours du mois précédent et du mois suivant. Cela signifie qu'elle affiche toujours six lignes, même si la première ou la dernière ligne se trouve entièrement dans un mois adjacent.

Localisation des jours

Pour localiser les jours, utilisez Locale.toString(). Par exemple, pour afficher les numéros des jours dans une langue arabe :

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
    }
}

Voir aussi DayOfWeekRow, WeekNumberColumn, CalendarModel, et Qt Quick Contrôles - Calendrier des événements.

Documentation sur les propriétés

delegate : Component

Cette propriété contient le délégué de l'élément qui visualise chaque jour.

En plus de la propriété index, une liste de rôles de données de modèle est disponible dans le contexte de chaque délégué :

model.date: dateLa date de la cellule
model.day: intLe numéro du jour
model.today: boolSi le délégué représente aujourd'hui
model.weekNumber: intLe numéro de la semaine
model.month: intLe numéro du mois
model.year: intLe numéro de l'année

L'extrait suivant présente l'implémentation par défaut du délégué item. Il peut être utilisé comme point de départ pour l'implémentation de délégués personnalisés.

MonthGrid n'est pas propriétaire du délégué.

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

Cette propriété contient le numéro du mois. La valeur par défaut est le mois en cours.

Les types liés au calendrier dans Qt Quick Controls utilisent des numéros de mois basés sur 0, comme les objets JavaScript Date. Cependant, cela diffère de QDate, où les mois sont numérotés à partir de 1.

Pour éviter toute confusion, vous pouvez utiliser les valeurs d'énumération suivantes :

ConstanteDescription
Calendar.JanuaryJanvier (0)
Calendar.FebruaryFévrier (1)
Calendar.Marchmars (2)
Calendar.AprilAvril (3)
Calendar.MayMai (4)
Calendar.JuneJuin (5)
Calendar.JulyJuillet (6)
Calendar.AugustAoût (7)
Calendar.SeptemberSeptembre (8)
Calendar.OctoberOctobre (9)
Calendar.NovemberNovembre (10)
Calendar.DecemberDécembre (11)

Voir aussi Calendar.

title : string

Cette propriété contient un titre pour le calendrier.

Cette propriété est fournie pour des raisons de commodité. MonthGrid ne visualise pas le titre. La valeur par défaut est constituée du nom du mois, formaté à l'aide de locale, et du numéro de l'année.

year : int

Cette propriété contient le numéro de l'année.

La valeur doit être comprise entre -271820 et 275759. La valeur par défaut est l'année en cours.

Documentation sur les signaux

clicked(date date)

Ce signal est émis lorsque date est cliqué.

Remarque : le gestionnaire correspondant est onClicked.

pressAndHold(date date)

Ce signal est émis lorsque date est pressé et maintenu enfoncé.

Remarque : le gestionnaire correspondant est onPressAndHold.

pressed(date date)

Ce signal est émis lorsque l'on appuie sur date.

Remarque : le gestionnaire correspondant est onPressed.

released(date date)

Ce signal est émis lorsque date est libéré.

Note : Le gestionnaire correspondant est 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.