Тип QML MonthGrid
Сетка дней для календарного месяца. Подробнее...
| Заявление об импорте: | import Qt.labs.calendar 1.0 |
| Наследует: |
Свойства
Сигналы
- void clicked(date date)
- void pressAndHold(date date)
- void pressed(date date)
- void released(date date)
Подробное описание
MonthGrid представляет календарный месяц в виде сетки. Содержимое рассчитывается для заданного месяца и года, используя указанный языковой стандарт.
MonthGrid {
month: Calendar.December
year: 2015
locale: Qt.locale("en_US")
} MonthGrid может использоваться как самостоятельный элемент управления, но чаще всего используется совместно с DayOfWeekRow и WeekNumberColumn. Независимо от варианта использования, позиционирование сетки остается на стороне пользователя.
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
}
} Внешний вид MonthGrid может быть изменён путём реализации пользовательского делегата.
Примечание: Типы в модулях Qt.labs не гарантируют совместимость в будущих версиях.
См. также DayOfWeekRow, WeekNumberColumn и CalendarModel.
Документация по свойствам
delegate : Component
Это свойство содержит делегат элемента, визуализирующий каждый день.
В дополнение к свойству index доступен список ролей данных модели в контексте каждого делегата:
| model.date : date | Дата ячейки |
| model.day : int | Номер дня |
| model.today : bool | Является ли делегат текущей датой |
| model.weekNumber : int | Номер недели |
| model.month : int | Номер месяца |
| model.year : int | Номер года |
Следующий фрагмент демонстрирует реализацию делегата элемента по умолчанию. Он может служить отправной точкой для реализации пользовательских делегатов.
delegate: Text {
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
opacity: model.month === control.month ? 1 : 0
text: model.day
font: control.font
} month : int
Это свойство содержит номер месяца. Значение по умолчанию — текущий месяц.
Модуль Qt Labs Calendar использует нумерацию месяцев с нуля, следуя соглашениям типа JavaScript Date, используемого в языке QML. Это означает, что Date::getMonth() может быть назначено этому свойству как есть. При работе непосредственно с номерами месяцев настоятельно рекомендуется использовать перечисленные ниже значения, чтобы избежать путаницы.
| Константа | Описание |
|---|---|
Calendar.January |
Январь (0) |
Calendar.February |
Февраль (1) |
Calendar.March |
Март (2) |
Calendar.April |
Апрель (3) |
Calendar.May |
Май (4) |
Calendar.June |
Июнь (5) |
Calendar.July |
Июль (6) |
Calendar.August |
Август (7) |
Calendar.September |
Сентябрь (8) |
Calendar.October |
Октябрь (9) |
Calendar.November |
Ноябрь (10) |
Calendar.December |
Декабрь (11) |
См. также Calendar.
title : string
Это свойство содержит заголовок календаря.
Это свойство предоставлено для удобства. MonthGrid сам по себе не визуализирует заголовок. Значение по умолчанию состоит из имени месяца, отформатированного с использованием языкового стандарта, и номера года.
year : int
Это свойство содержит номер года.
Значение должно находиться в диапазоне от -271820 до 275759. Значение по умолчанию — текущий год.
Документация по сигналам
void clicked(date date)
Этот сигнал генерируется при нажатии на date.
void pressAndHold(date date)
Этот сигнал генерируется при удерживании нажатия на date.
void pressed(date date)
Этот сигнал генерируется при нажатии на date.
void released(date date)
Этот сигнал генерируется при отпускании date.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qt-labs-calendar-monthgrid.html