欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式qt实验报告简单计算器的设计.pdf

    • 资源ID:75948260       资源大小:1,015.57KB        全文页数:31页
    • 资源格式: PDF        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式qt实验报告简单计算器的设计.pdf

    嵌入式 qt 实验报告简单计算器的设计 Last updated at 10:00 am on 25th December 2020 电 子 科 技 大 学 学 生 实 验 报 告 书 课 程 名 称 实用嵌入式应用系统设计与实现 任 课 老 师 实 验 名 称 简单功能计算器的设计 学 生 姓 名 学 生 学 号 学 生 学 院 2015 2016 学年 第 1 学期 实验项目名称 简单功能计算器的设计 实验日期 一、实验内容 1、设计一个简单计算器并能完成简单的四则运算,实时更新运算结果;2、带界面计算器自带数字及功能按钮,能实现更多以及更灵活的的计算功能。一、实验步骤设计(包括实验方案设计、实验步骤或算法描述等)实验设计方案如下:图 1 简单计算器的设计方案流程 图 2 带显示界面计算器的设计方案流程 实验步骤:一、简单计算器的设计:1、创建一个 Qt GUI 应用项目,项目名称为 dialog_designer,基类选择 Qwidget。项目建好后会自动生成一系列文件,双击界面文件 widget.ui 进入 Qt Designer 进行界面设计。2、界面设计完成后修改控件的各属性,并修改 Tab 顺序,点击工具栏上的的“编辑 Tab 顺序”按钮,依次按顺序点击即可,完成后再按工具栏上的编辑控件按钮返回。3、在头文件 widget.h 的 Widget 类添加共有槽函数;在源文件 widget.cpp 中添加新代码。4、用模拟器调试运行。二、带界面的计算器的设计:与简单计算器的设计步骤基本相同。但是需要在项目文件(后缀为.pro)添加一段代码,使得程序中能使用 Qt 脚本,在原有代码的基础上添加。在头文件widget.h 的 Widget 类添加共有槽函数和全局变量,以及包含头文件 QtScript,以使用 Qt Script API。在源文件 widget.cpp 中添加新代码,之后即可运行调试。三、实验结果分析及代码(包括结果描述、综合分析及实现关键代码)实验结果如下:1、简单计算器:代码:(1)在 widget.h 文件中#ifndef WIDGET_H#define WIDGET_H#include namespace Ui class Widget;class Widget:public QWidget Q_OBJECT public:explicit Widget(QWidget*parent=0);Widget();private slots:void on_doubleSpinBox_1_valueChanged();void on_doubleSpinBox_2_valueChanged();void on_doubleSpinBox_3_valueChanged();void on_doubleSpinBox_4_valueChanged();void on_doubleSpinBox_5_valueChanged();void on_doubleSpinBox_6_valueChanged();void on_doubleSpinBox_7_valueChanged();void on_doubleSpinBox_8_valueChanged();private:Ui:Widget*ui;#endif/WIDGET_H(2)在 widget.cpp 源文件中#include widget.h#include ui_widget.h Widget:Widget(QWidget*parent):QWidget(parent),ui(new Ui:Widget)ui-setupUi(this);void Widget:on_doubleSpinBox_1_valueChanged()ui-outout_plus-setText(QString:number(ui-doubleSpinBox_1-value()+ui-doubleSpinBox_2-value();void Widget:on_doubleSpinBox_2_valueChanged()ui-outout_plus-setText(QString:number(ui-doubleSpinBox_1-value()+ui-doubleSpinBox_2-value();void Widget:on_doubleSpinBox_3_valueChanged()ui-outout_minus-setText(QString:number(ui-doubleSpinBox_3-value()-ui-doubleSpinBox_4-value();void Widget:on_doubleSpinBox_4_valueChanged()ui-outout_minus-setText(QString:number(ui-doubleSpinBox_3-value()-ui-doubleSpinBox_4-value();void Widget:on_doubleSpinBox_5_valueChanged()ui-outout_multi-setText(QString:number(ui-doubleSpinBox_5-value()*ui-doubleSpinBox_6-value();void Widget:on_doubleSpinBox_6_valueChanged()ui-outout_multi-setText(QString:number(ui-doubleSpinBox_5-value()*ui-doubleSpinBox_6-value();void Widget:on_doubleSpinBox_7_valueChanged()ui-outout_div-setText(QString:number(ui-doubleSpinBox_7-value()/ui-doubleSpinBox_8-value();void Widget:on_doubleSpinBox_8_valueChanged()ui-outout_div-setText(QString:number(ui-doubleSpinBox_7-value()/ui-doubleSpinBox_8-value();Widget:Widget()delete ui;2、带显示界面的计算器:代码:(1)在 shiyanB.pro 项目文件中 QT +=core gui QT+=script greaterThan(QT_MAJOR_VERSION,4):QT+=widgets TARGET=shiyanB TEMPLATE=app SOURCES+=main.cpp widget.cpp HEADERS +=widget.h FORMS +=widget.ui(2)在头文件 widget.h 中#ifndef WIDGET_H#define WIDGET_H#include#include QWidget namespace Ui class Widget;class Widget:public QWidget Q_OBJECT public:QString sum;/全局变量。explicit Widget(QWidget*parent=0);Widget();public slots:void clickNum1();/按钮 1 的槽函数。void clickNum2();/按钮 2 的槽函数。void clickNum3();/按钮 3 的槽函数。void clickNum4();/按钮 4 的槽函数。void clickNum5();/按钮 5 的槽函数。void clickNum6();/按钮 6 的槽函数。void clickNum7();/按钮 7 的槽函数。void clickNum8();/按钮 8 的槽函数。void clickNum9();/按钮 9 的槽函数。void clickNum0();/按钮 0 的槽函数。void clickPoint();/按钮.的槽函数。void clickLbracket();/按钮(的槽函数。void clickRbracket();/按钮)的槽函数。void clickClean();/按钮 clean 的槽函数。void clickDelete();/按钮 delete 的槽函数。void clickPlus();/按钮+的槽函数。void clickMinus();/按钮-的槽函数。void clickMulti();/按钮*的槽函数。void clickDiv();/按钮/的槽函数。void clickEqul();/按钮=的槽函数。private:Ui:Widget*ui;#endif/WIDGET_H(3)在源文件 widget.cpp 中#include widget.h#include ui_widget.h Widget:Widget(QWidget*parent):QWidget(parent),ui(new Ui:Widget)ui-setupUi(this);sum=;connect(ui-pushButton_1,SIGNAL(clicked(),this,SLOT(clickNum1();connect(ui-pushButton_2,SIGNAL(clicked(),this,SLOT(clickNum2();connect(ui-pushButton_3,SIGNAL(clicked(),this,SLOT(clickNum3();connect(ui-pushButton_4,SIGNAL(clicked(),this,SLOT(clickNum4();connect(ui-pushButton_5,SIGNAL(clicked(),this,SLOT(clickNum5();connect(ui-pushButton_6,SIGNAL(clicked(),this,SLOT(clickNum6();connect(ui-pushButton_7,SIGNAL(clicked(),this,SLOT(clickNum7();connect(ui-pushButton_8,SIGNAL(clicked(),this,SLOT(clickNum8();connect(ui-pushButton_9,SIGNAL(clicked(),this,SLOT(clickNum9();connect(ui-pushButton_0,SIGNAL(clicked(),this,SLOT(clickNum0();connect(ui-pushButton_point,SIGNAL(clicked(),this,SLOT(clickPoint();connect(ui-pushButton_lbracket,SIGNAL(clicked(),this,SLOT(clickLbracket();connect(ui-pushButton_rbracket,SIGNAL(clicked(),this,SLOT(clickRbracket();connect(ui-pushButton_clean,SIGNAL(clicked(),this,SLOT(clickClean();connect(ui-pushButton_delete,SIGNAL(clicked(),this,SLOT(clickDelete();connect(ui-pushButton_plus,SIGNAL(clicked(),this,SLOT(clickPlus();connect(ui-pushButton_minus,SIGNAL(clicked(),this,SLOT(clickMinus();connect(ui-pushButton_multi,SIGNAL(clicked(),this,SLOT(clickMulti();connect(ui-pushButton_div,SIGNAL(clicked(),this,SLOT(clickDiv();connect(ui-pushButton_equl,SIGNAL(clicked(),this,SLOT(clickEqul();void Widget:clickNum1()/按钮 1 的槽函数。QString num1=1;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum2()/按钮 2 的槽函数。QString num1=2;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum3()/按钮 3 的槽函数。QString num1=3;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum4()/按钮 4 的槽函数。QString num1=4;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum5()/按钮 5 的槽函数。QString num1=5;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum6()/按钮 6 的槽函数。QString num1=6;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum7()/按钮 7 的槽函数。QString num1=7;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum8()/按钮 8 的槽函数。QString num1=8;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum9()/按钮 9 的槽函数。QString num1=9;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickNum0()/按钮 0 的槽函数。QString num1=0;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickPoint()/按钮 point 的槽函数。QString num1=.;QString num2=0.;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num2);else ui-lineEdit-setText(str);void Widget:clickLbracket()/按钮 lbracket 的槽函数。QString num1=(;QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickRbracket()/按钮 rbracket 的槽函数。QString num1=);QString str=ui-lineEdit-text();str=str+num1;if(ui-lineEdit-text()=0)ui-lineEdit-setText(num1);else ui-lineEdit-setText(str);void Widget:clickClean()/按钮 clean 的槽函数。QString num1=0;ui-lineEdit-setText(num1);void Widget:clickDelete()/按钮 delete 的槽函数。QString a=0;QString str=ui-lineEdit-text();if(str.length()=1)ui-lineEdit-setText(a);else if(str.length()1)str=str.left(str.length()-1);/从左边取长度减去 1 的字符串。ui-lineEdit-setText(str);void Widget:clickPlus()/按钮+的槽函数。QString num1=+;QString str=ui-lineEdit-text();sum=str+num1;ui-lineEdit-setText(sum);void Widget:clickMinus()/按钮-的槽函数。QString num1=-;QString str=ui-lineEdit-text();sum=str+num1;ui-lineEdit-setText(sum);void Widget:clickMulti()/按钮*的槽函数。QString num1=*;QString str=ui-lineEdit-text();sum=str+num1;ui-lineEdit-setText(sum);void Widget:clickDiv()/按钮/的槽函数。QString num1=/;QString str=ui-lineEdit-text();sum=str+num1;ui-lineEdit-setText(sum);void Widget:clickEqul()/按钮=的槽函数。QString str=ui-lineEdit-text();QScriptEngine engine;/QScriptEngine 类为程序提供一个嵌入式脚本环境,每一个引擎都是一个轻量级自包含的虚拟机。QScriptValue result=engine.evaluate(str);/调用脚本引擎的 evaluate()函数可以执行脚本,此处即可算出之前输入的字符串算式的结果。ui-lineEdit-setText(result.toString();/调用 QScriptValue 类的 toString()函数将QScriptValue 类的执行结果转换成 string 型。Widget:Widget()delete ui;实验分析:这两个小实验可以实现简单计算器的四则运算功能。

    注意事项

    本文(嵌入式qt实验报告简单计算器的设计.pdf)为本站会员(深夜****等你...)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开