MonthGrid QML Type

暦月の日数グリッド。もっと見る...

Import Statement: import QtQuick.Controls
Inherits:

Control

プロパティ

信号

詳細説明

MonthGrid は暦月をグリッドで表示する。内容は、指定されたmonthyear に対して、指定されたlocale を用いて計算されます。

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

MonthGridはスタンドアロンのコントロールとしても使用できますが、DayOfWeekRowWeekNumberColumn と組み合わせて使用されることが最も多いです。使用ケースにかかわらず、グリッドの位置はユーザーに任されている。

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の視覚的な外観は、custom delegate を実装することで変更できます。

任意の月を表示するとき、MonthGridは前月と翌月の日数を表示します。これは、最初か最後の行が完全に隣接する月であっても、常に6行を表示することを意味します。

日のローカライズ

日をローカライズするには、Locale.toString ()を使用します。たとえば、アラビア語のロケールで日数を表示する場合などである:

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

DayOfWeekRowWeekNumberColumnCalendarModelも参照

プロパティの説明

delegate : Component

このプロパティは、各日を視覚化する項目デリゲートを保持します。

index プロパティに加えて、モデル・データの役割のリストが、各デリゲートのコンテキストで利用可能です:

model.date: 日付セルの日付。
model.day: intセルの日付。
model.today: boolデリゲートが今日を表すかどうか
model.weekNumber: int週番号
model.month: int月番号
model.year: int年の番号

次のスニペットは、itemデリゲートのデフォルトの実装です。これは、カスタムデリゲートを実装するための出発点として使用することができます。

delegate: Text {
    horizontalAlignment: Text.AlignHCenter
    verticalAlignment: Text.AlignVCenter
    opacity: model.month === control.month ? 1 : 0
    text: model.day
    font: control.font

    required property var model
}

month : int

このプロパティは月番号を保持します。デフォルト値は現在の月です。

Qt Quick Calendar モジュールでは、QML 言語で使用されている JavaScript の Date 型と整合性をとるために、0 ベースの月番号を使用しています。つまり、Date::getMonth() をそのままメソッドに渡すことができます。月番号を直接扱う場合は、混乱を避けるために以下の列挙値を使うことを強く推奨します。

定数説明
Calendar.January1月 (0)
Calendar.February2月 (1)
Calendar.March3月 (2)
Calendar.April4月 (3)
Calendar.May5月 (4)
Calendar.June6月 (5)
Calendar.July7月 (6)
Calendar.August8月 (7)
Calendar.September9月 (8)
Calendar.October10月 (9)
Calendar.November11月 (10)
Calendar.December12月 (11)

Calendarも参照してください


title : string

このプロパティはカレンダーのタイトルを保持します。

このプロパティは便宜上提供されています。MonthGrid 自体はタイトルを視覚化しません。デフォルト値は、locale でフォーマットされた月名と、年号で構成されます。


year : int

このプロパティは年号を保持します。

値は-271820 から275759 の範囲でなければなりません。 デフォルト値は現在の年です。


シグナル・ドキュメント

clicked(date date)

このシグナルはdate がクリックされたときに発せられる。

注意: 対応するハンドラはonClicked です。


pressAndHold(date date)

このシグナルは、date が押下されたときに発せられる。

: 対応するハンドラはonPressAndHold です。


pressed(date date)

このシグナルはdate が押されたときに発せられる。

: 対応するハンドラはonPressed です。


released(date date)

このシグナルはdate が離されたときに発せられる。

: 対応するハンドラはonReleased です。


© 2025 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.