兼容Qt4/Qt5版本Qml控件Calendar

小编:啊南 193阅读 2021.01.18

通过点击日历控件区域,选择日期的Qml组件。

文件导入
属性

信号

  • signal clicked(variant date): 在日历中的有效日期上单击鼠标时发出,date是鼠标被单击的日期

方法

  • functiontoday():重定位当天日期
  • functiongetDate(): 获取日历当前日期
  • functionsetDate(date): 设置日历的日期
示例
Calendar {
    width: 600; height: 480
}
部分源码预览
/**
     * @brief 在日历中的有效日期上单击鼠标时发出。
     * @param date: 鼠标被单击的日期。
     */
    signal clicked(variant date)

    /**
     * @brief 重定位到当天日期
     */
    function today() {
        var today = new Date()
        setDate(today)
    }

    /**
     * @brief 获取日历当前日期
     */
    function getDate() {
        return privateVar.getYMD(root.currentIndex)
    }

    /**
     * @brief 设置日历的日期
     */
    function setDate(date) {
        privateVar.monthAndYearNumber = [date.getMonth() + 1, date.getFullYear()]
        root.currentIndex = privateVar.getIndexByDate(date.getDate(), date.getMonth()+1, date.getFullYear())

        /* 更新日期任务列表 */
        __setNoteDates(privateVar.noteDates)
    }

    Item {
        id: weekItem
        width: root.width; height: root.height/13
        Repeater {
            model: ["日", "一", "二", "三", "四", "五", "六"]
            Item {
                x: index * width
                width: root.cellWidth; height: weekItem.height

                Text {
                    anchors.centerIn: parent
                    text: model.modelData
                    font.pixelSize: dpW(14)
                    color: "#666666"
                }
            }
        }
    }
关联标签: