QT课程设计报告(共14页).doc

上传人:飞****2 文档编号:14016395 上传时间:2022-05-02 格式:DOC 页数:17 大小:321.50KB
返回 下载 相关 举报
QT课程设计报告(共14页).doc_第1页
第1页 / 共17页
QT课程设计报告(共14页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《QT课程设计报告(共14页).doc》由会员分享,可在线阅读,更多相关《QT课程设计报告(共14页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 题目:简易计算器学院:信息科学与技术 专业:软件工程姓名:学号:2014.04.19 一、 需求分析当今社会是信息社会,科技经济高速发展的社会,为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。然而,电脑已经成为当代人生活的必需品,运行在电脑上的计算器成为了人们的生活学习绝佳伴侣。下面是用C+编写的,基于Qt图形应用程序框架的计算器,它实现了对整数,浮点数的加减乘除幂运算。二、 设计过程1 界面设计在QT设计器中布置好计算器界面,所有按键采用的pushButton控件,显示计算结果采用的是lineEdit控件。完成的界面如下图所示:图 计算器界面为了

2、使按钮显示美观,将每个button的属性设置如下:图 button大小、字体属性为符合人们的使用习惯,将lineEdit空间的属性更改,使得输入的数字和符号出现在空间的右边起。如图:图 lineEdit控件属性更改2 控件重命名将界面布局设计好后,将各个空间改名,例如“0”改为but0。3 简单信号响应对于button exit退出程序,这样简单的响应,直接在设计器中通过添加信号和槽来完成,如图:图 信号和槽4 辅助数据成员及函数为了区分每一次计算和保存操作数、操作符,和辅助函数(如:输出函数),在calculator.h的类中设定数据成员以及成员函数:calculat.cpp中辅助函数的实现

3、:5 数字键的响应以button 0为例,在calculator.cpp文件中添加but0的代码,如下:6 小数点的响应当一个操作数已经输入了一个小数点时,将小数点按钮置为不可用,以防用户重复输入小数点,导致输入操作数不合法,如下如:7 运算功能的响应以加法为例,向lineEdit中输入显示+号,并在数据成员中保存,以便后面进行计算:8 清屏的响应首先将lineEdit的显示清除,再置为0;将一切辅助的数据成员数据重置到新一轮计算的开始状态,如:运算符为空,操作数为0等。实现如下:9 等号的响应根据数据成员记录的运算符和操作数进行相应的计算,并将得出的结果转化为string显示在lineEdi

4、t上,并重置辅助数据成员,准备下一轮的计算开始。三、 程序使用示例四、 总结 通过计算器设计,我学到了利用Qt设计简单窗口应用程序的的方法,初步了解了使用QT工具编写窗口程序的新颖,了解了槽和信号等基本知识,学会了如何使用新工具(Qt)帮助程序开发。 本计算器实现的功能还只是很少一部分,希望随着自身水平的提高可以将其完善起来。 本次程序中还有一个收获是,幂运算开始采用的是QQ输入法中的特殊字符,结果无法显示,后面换成键盘上的,就能显示了。五、 参考资料1) C+ GUI QT 4编程(第二版)(Jasmin Blanchette, Mark Summerfield) 电子工业出版社 2008六

5、、 附程序源代码calculator.h文件:#ifndef CALCULATOR_H#define CALCULATOR_H#include #include ui_calculator.hclass calculator : public QWidget Q_OBJECTpublic: calculator(QWidget *parent = 0, Qt:WFlags flags = 0); calculator(); private slots: void on_but0_clicked(); void on_but1_clicked(); void on_but2_clicked();

6、 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_clicked(

7、); void on_butZhengfu_clicked(); void on_butMi_clicked(); void on_butDian_clicked(); void on_butClear_clicked();private: Ui:calculatorClass ui; bool finishedOne;/是否完成了一趟计算 bool haveDian;/是否已经输入了点 bool haveOpera;/是否已经输入过操作符 bool newInput;/清屏后的标志 double num1;/操作数 double num2;/操作数 char opera;/运算符 QStri

8、ng str;/用来进行double和string之间转换 void clear_lineEdit();/每输入一个操作数或操作符的小清屏 void input(char ch);/向lineEdit进行输入 void inputCheck();/输入前的检查;#endif / CALCULATOR_Hcalculator.cpp文件:#include calculator.h#include #include #include #define P 0.0001calculator:calculator(QWidget *parent, Qt:WFlags flags) : QWidget(p

9、arent, flags) ui.setupUi(this); finishedOne = true;/是否完成了一趟计算 haveDian = false;/是否已经输入了点 haveOpera = false;/是否已经输入过操作符 newInput = true;/是否是清过屏的 num1= 0; num2= 0; opera= ;/初始为空格void calculator:on_but0_clicked() inputCheck(); input(0);void calculator:on_but1_clicked() inputCheck(); input(1);void calcu

10、lator:on_but2_clicked() inputCheck(); input(2);void calculator:on_but3_clicked() inputCheck(); input(3);void calculator:on_but4_clicked() inputCheck(); input(4);void calculator:on_but5_clicked() inputCheck(); input(5);void calculator:on_but6_clicked() inputCheck(); input(6);void calculator:on_but7_c

11、licked() inputCheck(); input(7);void calculator:on_but8_clicked() inputCheck(); input(8);void calculator:on_but9_clicked() inputCheck(); input(9);/乘法void calculator:on_butCheng_clicked() num1 = ui.lineEdit-text().toDouble(); clear_lineEdit(); ui.lineEdit-setText(*); opera = *;/记录操作符 haveOpera = true

12、;/加法void calculator:on_butJia_clicked() num1 = ui.lineEdit-text().toDouble(); clear_lineEdit(); ui.lineEdit-setText(+); opera = +;/记录操作符 haveOpera = true;/减void calculator:on_butJian_clicked() num1 = ui.lineEdit-text().toDouble(); clear_lineEdit(); ui.lineEdit-setText(-); opera = -;/记录操作符 haveOpera = true;专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁