桌面时钟设计与实现实习报告

上传人:亦明 文档编号:150061142 上传时间:2020-11-02 格式:DOC 页数:18 大小:25.03KB
返回 下载 相关 举报
桌面时钟设计与实现实习报告_第1页
第1页 / 共18页
桌面时钟设计与实现实习报告_第2页
第2页 / 共18页
桌面时钟设计与实现实习报告_第3页
第3页 / 共18页
桌面时钟设计与实现实习报告_第4页
第4页 / 共18页
桌面时钟设计与实现实习报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《桌面时钟设计与实现实习报告》由会员分享,可在线阅读,更多相关《桌面时钟设计与实现实习报告(18页珍藏版)》请在金锄头文库上搜索。

1、桌面时钟设计与实现实习报告 XX大学信息工程学院 桌面时钟设计与实现实习报告 桌面时钟设计与实现 学 号 姓 名 专业班级 指导教师 实践日期 xx年1月6日-xx年1月17日 目 录 一、综合训练目的与要求 1 二、综合训练任务 1 (1)需求分析 1 (2)任务 1 三、总体设计 2 (1)主要模块划分 2 (2)模块说明 2 四、详细设计说明 3 (1)类图 3 (2)设计说明 3 (3)具体类说明 3 calender类 3 mainclock类 4 main类 4 五、调试与测试 4 (1)第一次调试 4 (2)第二次调试 5 (3)第三次调试 6 (4)第四次调试 7 (5)最后调

2、试 8 六、实习日志 10 七、实习总结 12 八、附录:核心代码清单 13 (1)日历部分代码 13 (2)圆盘时钟部分代码 14 (3)电子时钟部分代码 17 (4)总体布局部分代码 19 (5)主函数部分代码 21 一、综合训练目的与要求 本次面向对象编程实践是学习了C+面向对象程序设计之后进行的必要的实践性环节。由于各种原因,信息管理与信息系统专业是在学习了一年之后才安排了这个实习,因为就在考试周,任务有点繁重。本课综合训练的目的和任务: 1. 重温和加深对 C+面向对象编程语言的基本知识的理解和掌握;2. 掌握 C+语言编程和程序调试的基本技能;3. 利用网络资源,自己学习MFC或者

3、Qt等相关软件对页面进行布局;4. 学会与他人协作进行小软件的设计,遇到分歧时,能够处理得当,共同完成实践要求。 二、综合训练任务 (1)需求分析 随着计算机的普及,人们对计算机的要求远不是当初的进行大型数据运算和复杂数据分析了,人与人之间的日常交流,交易等等也都通过计算机来完成了。因为是“日常用品”,当然想让它看起来舒服一些了,因此,人们对电脑桌面美观实用的需求也达到了一定的程度,现在的生活节奏也快了,都希望在最短的时间内完成最多的事,获取最大的信息量。人们为了在用计算机工作的同时,随时了解时间,不错过自己的行程安排。都会在电脑桌面安装一个显示时间日历的小工具,所以桌面时钟的需求还是挺大的。

4、 (2)任务 桌面时钟是日常小工具,所以良好的人机界面应该做到 采用面向对象思想设计实现各种类 因为涉及界面,所以要运用界面设计,我们选择采用QT做界面设计 能够通过自学习运用自带函数来实现功能 在实习期间,完成自己负责部分代码的编写和调试,并完成规范的实习论文 三、总体设计 (1)主要模块划分 图 1 主要模块 (2)模块说明 圆盘时钟:指的是圆盘时钟,也就是说,有时针分针秒针显示的时钟,这一模块中,需要绘制各个时针。 电子时钟:我们把它定义为向电子表那样显示的时钟部分,每秒更新一次,并显示出来。 日历:日历就是显示当前日历,并能查询前后的日历。 整体布局:整体布局时,分为水平布局和垂直布局

5、,水平布局用来布局圆盘时钟和电子时钟并行排列,组合之后,和日历的布局用垂直布局完成。圆盘时钟和电子时钟的单布局也是用垂直布局完成的。 四、详细设计说明 (1)类图 图 2 主要类图 (2)设计说明 圆盘时钟:指的是圆盘时钟,也就是说,有时针分针秒针显示的时钟,这一模块中,需要绘制各个时针,有我的同伴完成,具体实现过程我也限于了解,是先把默认原点坐标移动到中心处,然后分别画刷填充等,定义好指针的形状颜色后,分别画出时针分针秒针,读取当前时间,将各指针每段时间应该旋转的角度计算并设定好,就构成了圆盘时钟了。 电子时钟:我们把它定义为向电子表那样显示的时钟部分,每秒更新一次,并显示出来。默认状态下,

6、显示的数字位数(包括他们之间的冒号)为5为,这时候,显示的只有小时和分钟。所以要先将它改为8位的格式,让它把小时、分钟、秒钟都显示出来。 日历:日历就是显示当前日历,并能查询前后的日历。首先要为日历创建一个表格布局,并将其设置成布局尺寸不变,就是说,日历的布局不会随着窗口的拉大而改变大小。用setGridVisible(true)将表格线设置为显示,这样就能在日历版面看到网格线,比较适合大家的审美习惯。把日历表添加到表格布局中,这就算初步完成了日历表格的显示了。 当然了,总体模块除了以上三个主要部分,还有对整体的布局也是不可或缺的。因此,还有一个重要的模块便是整体布局,整体布局时,分为水平布局

7、和垂直布局,水平布局用来布局圆盘时钟和电子时钟并行排列,组合之后,和日历的布局用垂直布局完成。圆盘时钟和电子时钟的单布局也是用垂直布局完成的。 (3)具体类说明 /*因为前面已经提到过同伴负责的部分,在这一块就不做说明*/ calender类 Calender类用来实现日历的显示,继承了QT里的基类QWidget,定义了一个public成员变量calender(),用来声明日历的构造函数。Private成员变量createPreviewGroupBox()声明日历框中的函数。设计的两个函数: 1.calender(),设计日历类,实现创建日历表格、创建表格布局对象,还有一些基本设置。 2.cr

8、eatePreviewGroupBox(),设计日历表格框里的布局,将日历导入表格布局中,再将表格布局添加到窗口部件“日历查询”分组框中。 mainclock类 Mainclock类用来实现总体布局,将圆盘时钟、电子时钟、日历有机结合起来,使得人机界面友好美观。在继承基类情况下,定义了一个public成员变量mainclock.在源文件中进行详细设计说明。首先是窗口类,设计窗口的标题,用库函数中的Qdate获取当前时间,以便程序进行。然后,创建圆盘时钟对象,对圆盘时钟在总布局中的位置怎么显示进行具体设置,并设置分组框标题。其次,设置当前日期(年月日),创建电子时钟对象,电子时钟和当前日期设为垂

9、直布局,他们组合后,与圆盘时钟的布局为水平布局。最后,创建日历对象,将日历添加到布局当中。详细设计见代码。这就算完成了总体布局了。 main类 主类,用来将所有的类组合起来,为总程序服务,控制整个桌面时钟的运行。 五、调试与测试 (1)第一次调试 如下图(即图3)所示,为第一次调试结果,只是简单地将日历部分加入布局。 图 3 第一次调试结果 (2)第二次调试 如图4所示,是第二次调试的结果,将圆盘时钟和电子时钟的框架先布置好。 图 4 第二次调试结果 (3)第三次调试 如图5所示,为第三次调试结果,在把圆盘时钟和电子时钟加入布局后,显示日历部分。 图 5 第三次调试结果 (4)第四次调试 图6

10、所示为第四次调试结果,在第三次调试结果基础上,将同伴做好的圆盘时钟加入布局管理器。 图 6 第四次调试结果 (5)最后调试 以下图7、图8为最后调试的结果,两个是一样的,就是选的时间段不一样,电子时钟上的两个冒号一个显示着,一个没显示,因为它和秒钟是一样一秒更新一次,一秒显示一次的。 图 7 最后调试-1 图 8 最后调试-2 六、实习日志 工作日志即每日的安排、进度、完成情况,还有一些感想什么的。 表格 1 工作日志 日期 实习内容 xx-1-6 今天写了一下实施计划书,把未来两周的安排看了一下,还有明确了一下实习目的,安装了Qt,看了一堆教程,各种教程,关于MFC的、关于Qt的,总之就是查

11、资料,发现,其实机房应该安装一下我们需要的软件,不然我们还得每天过来安装,太麻烦、太费事了。这一天过得感觉毫无头绪,也找不着自己要干什么,怎么开始。 xx-1-7 今天还是在学习Qt的使用,因为分析了一下,我们决定用Qt写,之前安装的Qt不知道版本问题还是什么问题,用不了,后来从同学那拷了一个,安装在自己的电脑上,因为以为机房有保护卡,后来发现,在机房的操作系统下,那个也不能用。今天为止,完成了项目总体设计与模块划分,由我负责桌面时钟上显示的日历部分和整体的布局。经过分析讨论,要实现我们想要的功能,要设计日历、时钟的三个针、数字时钟等等几个类。 xx-1-8 早上跟着老师简单的了解了一下MFC

12、。胡老师说找了个熟悉Qt的老师抽时间给我们讲讲,我们等的就是这一天呐,自己摸索总是费些时间的。但是,我们肯定也不会干等着什么也不干,对自己负责的部分,要动手进行整体构思,具体怎么实现。开始简单的编写。下午将近4点的时候,耿楠老师来给我们介绍了一下QT,还给了一些参考资料。 xx-1-9 昨天下午看了耿楠老师给的资料之后,现在开始模仿QT里面给的示例敲程序,刚好里面也有关于时钟日历的样例。我就参考示例里的日历结合我们想要的效果进行修改。在示例中,我们只需要日历部分。在写好部分代码构建好执行时,出现了“:-1: error: Qt Creator 需要设置一个编译器来构建。在构建套件选项里设置一个

13、编译器”这个错误,没找着解决方法。 xx-1-10 昨天的编译器问题没有解决,就直接新建一个工程,把写好的代码拷贝过来,通过在网上查找资料,了解一些库函数,对象的使用方法和功能,然后编写自己的代码。今天初步完成了日历部分的代码。开始着手进行布局。 xx-1-13 这几天真痛苦,白天实习,晚上去上自习基本上到11点,复习马上到来的三门考试,过着“充实”的生活。其实心里很毛,想着实习能好好做完,又想着考试也能通过。今天写布局部分。考虑到美观,让人看起来舒心一些,在布局时,经过商量,决定将日历放在最下面,上面左边放圆盘时钟(这个名字我喜欢这样叫,比较形象),右边放电子时钟 xx-1-14 今天稍微看

14、了一下布局的相关资料,以便赶紧完成实习,毕竟一个周已经过去了。考试搞得人有点慌慌的,好像老师也知道我们今天有考试,大家在复习,老师也比较开明,没有说什么,所以,今天其实没有做什么实质性的东西。 xx-1-15 早上考Web去了,没有实习,晚上也有考试,额,很不好意思地说,今天下午就用来背书了,因为两天都什么不干,还是很不好意思的。老师自己应该也为我们捏一把汗,一边要实习,一边还要复习考试,两边都不能耽误,兼顾起来又很困难,所以,我们只好先把考试顾好。下来再抽时间赶实习。 xx-1-16 试考完了,放下了一个大包袱,就能轻轻松松做实习的事了。今天把程序部分基本完成了,在写实习论文,还有用亿图软件

15、画一些基本图形,准备明天早上的答辩。其实,论文也不是那么好写的,你做了什么,只能流水账似的把它写一遍,想说的话也表达不出来。 xx-1-17 昨晚把答辩用的PPT赶出来了,今天是答辩的日子。 七、实习总结 这次面向对象编程实习收获了很多,首先是认识到自身知识的欠缺,由于之前学习C语言、C+面向对象编程语言时,没有好好学习,基础知识不扎实,做起来困难重重。不过,因为这次实习是两人合作,在实习过程中,通过看示例,还有合作同伴的帮忙,也大概把东西做出来了。其次是,更加系统地复习了面向对象的编程思想。 “面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。 在程序员眼里,世界就是由类和对象构成

16、的。类描述了一组有相同特性(属性)和相同行为(方法)的对象。在程序中,类实际上就是数据类型。面向过程的语言与面相对象的语言的区别就在于,面向过程的语言不允许程序员自己定义数据类型,而只能使用程序中内置的数据类型。而为了模拟真实世界,为了更好的解决问题,往往我们需要创建解决问题所必需的数据类型。面向对象编程为我们提供了解决方案。运用类的封装、继承等,实现程序功能。 我们这次的课题是桌面时钟的设计与实现,内部要实现三个功能,分别是圆盘时钟、电子时钟、日历。这三个模块之间是肯定要进行一定的“排版”,也就是布局的。通过良好的整体布局,桌面时钟这个日常小工具才会比较受人欢迎,谁也不喜欢看着不好看不顺眼的东西。 在编写代码过程中,要思考类怎么实现,参数怎么传,怎么封装一个类,脑子里面有个全局布局,写的时候

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号