MonthGrid QML Type
1か月の日付をグリッド形式で表示したもの。詳細...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
プロパティ
信号
- clicked(date date)
- pressAndHold(date date)
- pressed(date date)
- released(date date)
詳細説明
MonthGridは、カレンダー上の月をグリッド形式で表示します。表示内容は、指定されたmonth およびyear に基づき、指定されたlocale を用いて計算されます。

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の外観は、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
}
}関連項目: DayOfWeekRow 、WeekNumberColumn 、CalendarModel 、およびQt Quick Controls - Event Calendar。
プロパティのドキュメント
delegate : Component
このプロパティには、各日を可視化するアイテムデリゲートが格納されます。
index プロパティに加え、各デリゲートのコンテキストでは、以下のモデルデータロールのリストが利用可能です:
| model.date: date | セルの日付 |
| model.day: int | 日の番号 |
| model.today: bool | デリゲートが今日を表しているかどうか |
| model.weekNumber: int | 週番号 |
| model.month: int | 月の番号 |
| model.year: int | 年の番号 |
以下のスニペットは、item デリゲートのデフォルトの実装を示しています。これは、カスタムデリゲートを実装するための出発点として使用できます。
MonthGrid デリゲートの所有権を取得しません。
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
このプロパティには、月の番号が格納されます。デフォルト値は現在の月です。
Qt Quick のコントロールにおけるカレンダー関連の型は、JavaScriptのDateオブジェクトと同様に、0を起点とする月番号を使用します。ただし、これはQDate とは異なり、 では月の番号は1から始まります。
混乱を避けるために、以下の列挙値を使用できます。
| 定数 | 説明 |
|---|---|
Calendar.January | 1月 (0) |
Calendar.February | 2月 (1) |
Calendar.March | 3月 (2) |
Calendar.April | 4月 (3) |
Calendar.May | 5月 (4) |
Calendar.June | 6月 (5) |
Calendar.July | 7月 (6) |
Calendar.August | 8月 (7) |
Calendar.September | 9月 (8) |
Calendar.October | 10月 (9) |
Calendar.November | 11月 (10) |
Calendar.December | 12月 (11) |
Calendarも参照してください 。
title : string
このプロパティは、カレンダーのタイトルを保持します。
このプロパティは便宜上提供されているものです。MonthGrid 自体はタイトルを可視化しません。デフォルト値は、locale を使用して書式設定された月名と、年号で構成されます。
year : int
このプロパティには、年の番号が格納されます。
値は、-271820 から275759 の範囲でなければなりません。デフォルト値は今年度です。
Signal ドキュメント
clicked(date date)
このシグナルは、date がクリックされたときに発生します。
注: 対応するハンドラは onClicked です。
pressAndHold(date date)
この信号は、date が長押しされたときに発生します。
注: 対応するハンドラは onPressAndHold です。
pressed(date date)
このシグナルは、date が押されたときに発生します。
注: 対応するハンドラは onPressed です。
released(date date)
このシグナルは、date が解放されたときに発生します。
注: 対応するハンドラは 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.