Sur cette page

MonthGrid QML Type

Une grille des jours d'un mois civil. En savoir plus...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propriétés

Signaux

Description détaillée

MonthGrid présente un mois civil sous forme de grille. Le contenu est calculé à partir d'une valeur donnée pour month et year, en utilisant la valeur spécifiée pour locale.

Grille mensuelle 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 association avec DayOfWeekRow et WeekNumberColumn. Quel que soit le cas d'utilisation, le positionnement de la grille est laissé à la discrétion de l'utilisateur.

Grille mensuelle sous forme de 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 un custom delegate.

Lors de l’affichage d’un mois donné, MonthGrid affiche les jours du mois précédent et du mois suivant. Cela signifie qu’il affiche toujours six lignes, même lorsque 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 de jours dans une locale 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 également DayOfWeekRow, WeekNumberColumn, CalendarModel et Qt Quick Controls - Calendrier des événements.

Documentation sur les propriétés

delegate : Component

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

Outre la propriété « index », une liste de rôles de données du 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: boolIndique si le délégué représente la date du jour
model.weekNumber: intNuméro de la semaine
model.month: intLe numéro du mois
model.year: intLe numéro de l'année

L'extrait de code suivant présente l'implémentation par défaut du délégué d'élément. Il peut servir de point de départ pour implémenter des délégués personnalisés.

MonthGrid ne prend pas possession 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 correspond au mois en cours.

Les types liés au calendrier dans Qt Quick Controls utilisent une numérotation des mois commençant à 0, à l'instar des objets Date de JavaScript. Cela diffère toutefois 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 le titre du calendrier.

Cette propriété est fournie à titre pratique. MonthGrid n'affiche pas le titre en lui-même. La valeur par défaut est composé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 lorsqu'on clique sur date.

Remarque : le gestionnaire correspondant est onClicked.

pressAndHold(date date)

Ce signal est émis lorsque l'on appuie sur date et que l'on maintient la touche enfoncée.

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 l'date est relâché.

Remarque : 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.