- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
题目:简易
学院:信息科学与技术
专业:软件工程
姓名
学号:
2014.04.19
需求分析
当今社会是信息社会,科技经济高速发展的社会,为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。然而,电脑已经成为当代人生活的必需品,运行在电脑上的计算器成为了人们的生活学习绝佳伴侣。
下面是用C++编写的,基于Qt图形用户界面应用程序框架的计算器,它实现了对整数,浮点数的加﹑减﹑乘﹑除﹑幂运算。
设计过程
界面设计
在QT设计器中布置好计算器界面,所有按键采用的pushButton控件,显示计算结果采用的是lineEdit控件。完成的界面如下图所示:
图 计算器界面
为了使按钮显示美观,将每个button的属性设置如下:
图 button大小、字体属性
为符合人们的使用习惯,将lineEdit空间的属性更改,使得输入的数字和符号出现在空间的右边起。如图:
图 lineEdit控件属性更改
控件重命名
将界面布局设计好后,将各个空间改名,例如“0”改为but0。
简单信号响应
对于button exit退出程序,这样简单的响应,直接在设计器中通过添加信号和槽来完成,如图:
图 信号和槽
辅助数据成员及函数
为了区分每一次计算和保存操作数、操作符,和辅助函数(如:输出函数),在calculator.h的类中设定数据成员以及成员函数:
calculat.cpp中辅助函数的实现:
数字键的响应
以button 0为例,在calculator.cpp文件中添加but0的代码,如下:
小数点的响应
当一个操作数已经输入了一个小数点时,将小数点按钮置为不可用,以防用户重复输入小数点,导致输入操作数不合法,如下如:
运算功能的响应
以加法为例,向lineEdit中输入显示+号,并在数据成员中保存,以便后面进行计算:
清屏的响应
首先将lineEdit的显示清除,再置为0;将一切辅助的数据成员数据重置到新一轮计算的开始状态,如:运算符为空,操作数为0等。实现如下:
等号的响应
根据数据成员记录的运算符和操作数进行相应的计算,并将得出的结果转化为string显示在lineEdit上,并重置辅助数据成员,准备下一轮的计算开始。
程序使用示例
总结
通过计算器设计,我学到了利用Qt设计简单窗口应用程序的的方法,初步了解了使用QT工具编写窗口程序的新颖,了解了槽和信号等基本知识,学会了如何使用新工具(Qt)帮助程序开发。
本计算器实现的功能还只是很少一部分,希望随着自身水平的提高可以将其完善起来。
本次程序中还有一个收获是,幂运算开始采用的是QQ输入法中的特殊字符‘?’,结果无法显示,后面换成键盘上的‘^’,就能显示了。
参考资料
《C++ GUI QT 4编程》(第二版)(Jasmin Blanchette, Mark Summerfield) 电子工业出版社 2008
附程序源代码
calculator.h文件:
#ifndef CALCULATOR_H
#define CALCULATOR_H
#include QtGui/QWidget
#include ui_calculator.h
class calculator : public QWidget
{
Q_OBJECT
public:
calculator(QWidget *parent = 0, Qt::WFlags flags = 0);
~calculator();
private slots:
void on_but0_clicked();
void on_but1_clicked();
void on_but2_clicked();
void on_but3_clicked();
void on_but4_clicked();
void on_but5_clicked();
void on_but6_clicked();
void on_but7_clicked();
void on_but8_clicked();
void on_but9_clicked();
void on_butJia_clicked();
void on_butJian_clicked();
void on_butCheng_clicked();
void on_butChu_clicked();
void on_butDeng_cl
您可能关注的文档
最近下载
- NB∕T 32037-2017 光伏发电建设项目文件归档与档案整理规范.pdf VIP
- 《我的鞋带我会系》小学一年级劳动教育PPT课件.ppt VIP
- 新发展研究生英语视听说-Unit1-Personality-Traits.ppt VIP
- 焦化厂工艺安全知识培训课件.pptx VIP
- 10-铁路运送行李、包裹.pptx VIP
- 英烈传大明山莺列传.pdf VIP
- 中国帕金森病治疗指南(第四版):精神及认知障碍的治疗.pdf VIP
- SL∕T 618-2021 水利水电工程可行性研究报告编制规程.pdf
- MSA-GRR数据自动生成工具.xls VIP
- 《“喜迎新中国成立76周年”国庆主题》课件.pptx VIP
文档评论(0)