- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.-
.
-
--可修编.
-
-可修编.
西北农林科技大学信息工程学院面向对象实习实习报告
题目:桌面时钟设计与实现
学号XX
专业班级指导教师
实践日期
目录
一、综合训练目的与要求 1
二、综合训练任务 1
三、总体设计 2
四、详细设计说明 4
五、调试与测试 5
六、实习日志 9
七、实习总结 9
八、附录:核心代码清单 9
一、综合训练目的与要求
正文这次面向对象实习实践活动是在C++面向对象程序设计之后进行的实践环节旨在加深对面向对象编程的设计思想(类的设计,抽象,封装,包含与继承,多态性,UML 图) 的理解,掌握使用 C++编程的基本的技能,从而能通过小型的团队开发一些小软件的实现与设计,并能够解决一定的实际问题。以及掌握撰写规程序设计文档的能力,还有训练语言组织与表达能力,提高综合能力。
二、综合训练任务1、需求分析
随着科学技术的不断发展,计算机已经成为了我们日常工作生活和学习中不可缺少的工具,很多人每天都使用计算机与外界进行交互,为了让用户对计算机有更舒心的体验,桌面的个性化是必不可少,因此很有必要设计美观使用的桌面的小软件,来让计算机更加人性化,二当今社会是信息时代,生活节奏也随即加快,而一个美观的能提示显示时间和日历的小软件能让人们合理安排自己的行程,避免不必要的损失,因此桌面时钟有一定的需求性。
2、任务实现
良好的人机交互界面是用户所亲睐的。
使用QT Creater来开发该界面程序。
采用面向对象的思想实现时钟类、设置类的封装和与实现
实现软件界面的布局
为了实现不同类之间的联系提供类的接口。
实现对代码的编写和调试工作,每天记录实习日志
独立完成论文并进行答辩。
.-
.
-
--可修编.
-
-可修编.
三、总体设计
1、整体功能设计
图 3-1-1
图 3-1-1 是整体功能的设计,为了界面的整洁性和强化界面的显示采取以上的功能模型组合。增强可视化和人性化,用户可以自己更改时间和更改日历的显示的样式以及一些其他的操作。
2、各部件介绍:
主窗口实现窗口布局包含了数字时钟部件、日历部件、时间部件、和菜单。
日历设置窗口实现窗口布局包含了日历样式设置和常规设置部件。
时间设置窗口实现窗口的布局包含了时间Edit和刻度时钟动态实现更改时间设置。
3、整体 UML 图:
图 3-3-1
图 3-3-1 是程序整体的UML 图由于属性太多因此省略掉了属性和操作。以程序中每个类之间的联系进行组合,反映出程序中结构和整体的框架。便于后期编程。
四、详细设计说明
1、主窗口类(UML 图):
图 4-1-1
图 4-1-1 是主窗口的UML 图主要给用户可视界面进行布局和各个部件的创建和组合。最后通过设置菜单对不同的部件及实例化的类-对象进行设置和优化。
2.日期时间属性类
图 4-2-1
图 4-2-1 是日期时间属性窗口类的UML 图,主要功能是获取时间和设置时间以及创建布局和label
放置动态的时间信息。最主要的是提供一个槽函数控制时间的动态性。
3、刻度时钟的类(UML )
图 4-3-1
图 4-3-1 实现的是刻盘时钟窗口类实现。主要的实现的功能是表盘的绘制和表针的绘制。而表盘的绘制功能使用的QWidget中的虚函数 paintEvent的实现
五、调试与测试
1、主窗口框架调试:
图 5-1-1
图 5-1-1 是对住窗口框架的布局,刚开始设计布局的时候不太了解三种布局和组合框的创建,但是进过后面对Qt 的 GUI 类的了解慢慢的了解了布局和组合框架之间的联系。经过多次调错,最后把4 个组合框按照自己的想法进行了布局。
图 5-1-2
图 5-1-2 实现了时间日期的显示,最初的做法是在直接弹出一个 label显示日期时间。最后把 label 封装一个窗口类然后吧,该窗口加载到主窗口中最后显示成功。
图 5-1-3
图 5-1-3 是通过我的小伙伴编写好的日历窗口类放入我所编写的主窗口中最后达到了想要的结果。没有实现动态设置日历的样式。
图 5-1-4
图 5-1-4 是通过我的小伙伴编写好的日历窗口类和数字时钟窗口类放入我所编写的主窗口的运行效果图,而数字时钟没有实现更改功能。
图 5-1-5
图 5-1-5 是从网络上查到的刻度时钟的执行样式,通过对其代码的编写和理解。明白了其中的原理, 是利用了计算机图形学的知识执行了不旋转变换并且利用了timer中的timeout和 timesta进t 行控制, 实现时钟的动态显示。
图 5-1-6
图 5-1-6 是实现了刻度表盘的主窗口,时钟的数字也是通过确定一块固定大小的像素块进行编写文本,然后把文本中的字符(数字)在该固定的像素块上显示,通过旋转变换实现数字在表盘上的绘 制。通过点画绘制非凹形的图形。实现了表针的设置。
图 5-1-7
图
文档评论(0)