一 需求分析
应用Qt的图形界面设计设计一款拥有多种功能的、可跨平台使用的日历程序,实现包括给日期添加、删除事件、上色、支持文件拖拽和数据配置同步等功能。
支持Windows、Linux和OS X平台。
主要功能如下:
-
编辑事件
-
用户可以通过单击来设置添加、删除每一天的事件,并且软件需支持按照某些规律一次性添加多个事件,并且在删除时也可以选择单独删除或批量删除
-
软件需支持给日历中每一天添加或删除颜色
-
-
文件拖拽,软件需实现本地文件与桌面日历程序的拖拽交互:
-
把本地文件拖入桌面日历程序的某一天,在当天的格子内显示文件名称,并且把文件存入桌面日历程序的某个文件夹下
-
可以通过日历程序把存放在某天的文件通过拖拽文件名称存放到本地文件夹内进行保存
-
设置一个按钮用来打开和关闭桌面日历程序与本地文件的拖拽交互
-
-
数据同步
- 软件需要支持使用数据文件进行数据同步,支持用户导出所有事件和对应颜色数据到配置文件中,并支持程序导入该该配置文件
-
固定与透明
- 可以对日历进行整体的拖拽和固定,且在固定后日历中的透明区域不再响应鼠标事件,并且让鼠标事件依然传递到桌面上
-
国际化
- 软件需支持中文,英文两种模式
二 程序设计
2.1 界面模块
界面模块由MainWindow类组成,它继承QWidget类,并包含了另外三个模块的头文件。由于界面全部由代码生成,此类中包含一个calend二的指针和许多的QPushButton和QCheckBox等组件。
程序运行图如下:
参考文档和完整的文档和源码下载地址: