MonthGrid QML类型
日历月份的一个日网格。更多...
导入声明 | import QtQuick.Controls |
继承 |
属性
信号
- clicked(date date)
- pressAndHold(date date)
- pressed(date date)
- 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的视觉外观。
查看任何给定的月份时,MonthGrid将显示前一个月和下一个月的天。这意味着它始终显示六行,即使第一行或最后一行完全位于相邻月份中。
本地化天
要本地化天,请使用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。
属性文档
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 required property var model }
月份 : int |
此属性用于保存月份编号。默认值是当前月份。
Qt Quick 日历模块使用从0开始的月份编号,以便与QML语言使用的JavaScript Date类型保持一致。这意味着可以直接将 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) |
另请参阅日历。
year : int |
此属性保存年份编号。
值必须在 -271820
到 275759
范围内。默认值是当前年份。
信号文档
clicked(date date) |
当点击 date 时,将发出此信号。
注意:相应的处理程序是 onClicked
。
pressAndHold(date date) |
当按下并持有 date 时,将发出此信号。
注意:相应的处理程序是 onPressAndHold
。
pressed(date date) |
当按下 date 时,将发出此信号。
注意:相应的处理程序是 onPressed
。
released(date date) |
当释放 date 时,将发出此信号。
注意:相应的处理程序是 onReleased
。
© 2024 Qt公司有限公司。本文件包含的文档贡献是各自所有者的版权。本文件提供的文档是根据 Free Software Foundation 发布的 GNU自由文档许可证版本1.3 条款许可的。Qt及其相关标志是芬兰的 Qt公司以及/或其他国家的商标。所有其他商标均为各自所有者的财产。