Spec-Zone.ru › Qt 5.11

Тип QML MonthGrid

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

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

Control

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

Свойства

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

Сигналы

  • clicked(дата date)
  • pressAndHold(дата date)
  • pressed(дата date)
  • released(дата 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 : дата Дата ячейки
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 использует нумерацию месяцев, начиная с 0, что соответствует типу 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)

См. также Календарь.

title : строка

Это свойство содержит заголовок для календаря.

Это свойство предоставляется для удобства. MonthGrid сам по себе не визуализирует заголовок. Значение по умолчанию состоит из имени месяца, отформатированного с использованием языкового стандарта, и номера года.

year : int

Это свойство содержит номер года.

Значение должно находиться в диапазоне от -271820 до 275759. Значение по умолчанию - текущий год.

Документация по сигналам

clicked(дата date)

Этот сигнал испускается при нажатии на date.

pressAndHold(дата date)

Этот сигнал испускается при нажатии и удерживании date.

pressed(дата date)

Этот сигнал испускается при нажатии на date.

released(дата date)

Этот сигнал испускается при отпускании date.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qt-labs-calendar-monthgrid.html

Spec-Zone.ru

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