c++课程设计:桌面时钟设计与实现

c++课程设计:桌面时钟设计与实现

ID:34178579

大小:386.26 KB

页数:10页

时间:2019-03-04

c++课程设计:桌面时钟设计与实现_第1页
c++课程设计:桌面时钟设计与实现_第2页
c++课程设计:桌面时钟设计与实现_第3页
c++课程设计:桌面时钟设计与实现_第4页
c++课程设计:桌面时钟设计与实现_第5页
资源描述:

《c++课程设计:桌面时钟设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计报告课程名称:面向对象程序设计C++设计题目:桌面时钟设计与实现专业:计算机科学与技术姓名:学号:指导教师:李晓虹2015年1月10日一.系统需求分析1实现圆盘时钟的绘制。2实现电子时钟类的设计。3实现日历类的设计。4实现主窗口的布局与设计工作。5实现主窗口与时钟和日历的链接效果。6美化界面二.总体设计(1)、各部件功能简介1.日历类:主要是将日历显示出来,然后添加了一个小按钮回到今天,用来方便用户在浏览日历前后再返回到当前月所在的页面。2.电子时钟类:主要是通过UI界面的设计与代码加以控制,实现在对话框中显示当前时间和上午或下午。3.圆盘时钟类:

2、通过使用画笔和画刷,然后绘制时钟的时针、分针和秒针。4.主窗口类:主要用来实现将以上三个类实现的功能,利用GroupBox和Layout合理的布局,然后在美化界面。(2)、整体模块划分框图电子时钟Digitalclock图3-1整体模块划分桌面时钟日历Calendar圆盘时钟Analogclock主窗口设计Deskclock一.详细设计/*我负责日历类的实现,主窗口界面的实现和美化界面。*/(1)、Calendar类①.Calendar类具体介绍Calendar类中继承了QT中的QWidget,主要包含构造函数Calendar(),createCalend

3、arGroupBox()和槽函数showtoday()。1.Calendar()中,就是布局,将构建好的日历放在布局中。具体代码如下:Calendar::Calendar(){createCalendarGroupBox();QGridLayout*layout=newQGridLayout;layout->addWidget(calendarGroupBox,0,0);layout->setSizeConstraint(QLayout::SetFixedSize);setLayout(layout);}2.createCalendarGroupBox()

4、中运用GroupBox和GridLayout创建表格,将日历添加进来,然后增添了一个回答今天的按钮,利用信号与槽机制,实现其功能。具体代码如下:voidCalendar::createCalendarGroupBox(){calendar=newQCalendarWidget;calendar->setGridVisible(true);calendarGroupBox=newQGroupBox;previewLayout=newQGridLayout;previewLayout->addWidget(calendar,0,0,Qt::AlignCente

5、r);//按钮功能的实现QPushButton*btn1=newQPushButton(tr("回到今天"));previewLayout->addWidget(btn1,1,0,Qt::AlignRight);connect(btn1,SIGNAL(clicked()),this,SLOT(showtoday()));calendarGroupBox->setLayout(previewLayout);}3.槽函数showtoday(),就是直接调用了QCalendarWidget中的showToday()函数,利用QCalendarWidget类定义一

6、个指针,然后直接调用就可以实现。②.Calendar类UML图Calendar-calendarGroupBox:QGroupBox*-previewLayout:QGridLayout*-calendar:QCalendarWidget*+Calendar()+createCalendarGroupBox()图4-1日历类+showtoday()(2)、主窗口设计Deskclock类①.Deskclock类具体介绍Deskclock类,也是继承了QT中的基类QWidget,其中主要用到了Layout和GroupBox来布局管理,利用信号与槽机制实现窗口的

7、连接,通过添加图片资源,利用QPalette来美化界面。1.Deskclock()中,主要运用了GroupBox来将日历,时间和两个时钟布局在窗口中,以及美化界面即添加背景图片。Deskclock::Deskclock(QWidget*parent):QWidget(parent){……QGridLayout*layout=newQGridLayout;layout->addWidget(todayGroupBox,0,0);layout->addWidget(CalendarGroupBox,1,0);layout->addWidget(datesGro

8、upBox,2,0);layout->setSizeConstra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。