Spec-Zone.ru › Qt 5.9

Тип QML MonthGrid

Сетка дней для календарного месяца. Подробнее...

Заявление об импорте: import Qt.labs.calendar 1.0
Наследует:

Control

  • Список всех членов, включая унаследованные

Свойства

  • delegate : Компонент
  • month : int
  • title : строка
  • year : int

Сигналы

  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API