En esta página

MonthGrid QML Type

Una cuadrícula de días para un mes natural. Más...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propiedades

Señales

Descripción detallada

MonthGrid presenta un mes de calendario en una cuadrícula. El contenido se calcula para un month y un year dados, utilizando el locale especificado.

Rejilla de meses con días naturales

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

MonthGrid puede utilizarse como control independiente, pero se suele utilizar junto con DayOfWeekRow y WeekNumberColumn. Independientemente del caso de uso, el posicionamiento de la cuadrícula se deja en manos del usuario.

Rejilla de meses en el calendario

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

El aspecto visual de MonthGrid puede modificarse mediante la implementación de custom delegate.

Cuando se visualiza cualquier mes, MonthGrid muestra los días del mes anterior y del siguiente. Esto significa que siempre muestra seis filas, incluso cuando la primera o la última fila están completamente dentro de un mes adyacente.

Localización de días

Para localizar días, utilice Locale.toString(). Por ejemplo, para mostrar los números de los días en una configuración regional árabe:

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

Véase también DayOfWeekRow, WeekNumberColumn, CalendarModel, y Qt Quick Controls - Calendario de eventos.

Documentación de propiedades

delegate : Component

Esta propiedad contiene el elemento delegado que visualiza cada día.

Además de la propiedad index, en el contexto de cada delegado hay disponible una lista de roles de datos del modelo:

model.date: fechaLa fecha de la celda
model.day: intEl número del día
model.today: boolSi el delegado representa el día de hoy
model.weekNumber: intEl número de la semana
model.mes: intEl número del mes
modelo.año: intEl número del año

El siguiente fragmento presenta la implementación por defecto del delegado de elemento. Puede utilizarse como punto de partida para implementar delegados personalizados.

MonthGrid no se apropia del delegado.

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

Esta propiedad contiene el número del mes. El valor por defecto es el mes actual.

Los tipos relacionados con el calendario en Qt Quick Controls utilizan números de mes basados en 0, como los objetos Date de JavaScript. Sin embargo, esto difiere de QDate, donde los meses se numeran empezando por 1.

Para evitar confusiones, puede utilizar los siguientes valores de enumeración:

ConstanteDescripción
Calendar.JanuaryEnero (0)
Calendar.FebruaryFebrero (1)
Calendar.MarchMarzo (2)
Calendar.AprilAbril (3)
Calendar.MayMayo (4)
Calendar.JuneJunio (5)
Calendar.JulyJulio (6)
Calendar.AugustAgosto (7)
Calendar.Septemberseptiembre (8)
Calendar.Octoberoctubre (9)
Calendar.Novembernoviembre (10)
Calendar.DecemberDiciembre (11)

Ver también Calendar.

title : string

Esta propiedad contiene un título para el calendario.

Esta propiedad se proporciona por comodidad. MonthGrid no visualiza por sí misma el título. El valor por defecto consiste en el nombre del mes, formateado usando locale, y el número del año.

year : int

Esta propiedad contiene el número del año.

El valor debe estar comprendido entre -271820 y 275759. El valor por defecto es el año en curso.

Documentación de la señal

clicked(date date)

Esta señal se emite cuando se hace clic en date.

Nota: El controlador correspondiente es onClicked.

pressAndHold(date date)

Esta señal se emite cuando se mantiene pulsado date.

Nota: El manejador correspondiente es onPressAndHold.

pressed(date date)

Esta señal se emite cuando se pulsa date.

Nota: El manejador correspondiente es onPressed.

released(date date)

Esta señal se emite cuando se libera date.

Nota: El manejador correspondiente es 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.