嵌入式qt实验报告简单计算器的设计Word文件下载.docx

上传人:b****6 文档编号:17006915 上传时间:2022-11-27 格式:DOCX 页数:14 大小:18.53KB
下载 相关 举报
嵌入式qt实验报告简单计算器的设计Word文件下载.docx_第1页
第1页 / 共14页
嵌入式qt实验报告简单计算器的设计Word文件下载.docx_第2页
第2页 / 共14页
嵌入式qt实验报告简单计算器的设计Word文件下载.docx_第3页
第3页 / 共14页
嵌入式qt实验报告简单计算器的设计Word文件下载.docx_第4页
第4页 / 共14页
嵌入式qt实验报告简单计算器的设计Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

嵌入式qt实验报告简单计算器的设计Word文件下载.docx

《嵌入式qt实验报告简单计算器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《嵌入式qt实验报告简单计算器的设计Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

嵌入式qt实验报告简单计算器的设计Word文件下载.docx

在头文件

widget.h的Widget类添加共有槽函数和全局变量,以及包含头文件QtScript,以

使用QtScriptAPI。

在源文件widget.cpp中添加新代码,之后即可运行调试。

三、实验结果分析及代码(包括结果描述、综合分析及实现关键代码)

实验结果如下:

1、简单计算器:

代码:

(1)在widget.h文件中

#ifndefWIDGET_H

#defineWIDGET_H

#include<

QWidget>

namespaceji{

classWidget;

classWidget:

publicQWidget

{

Q_OBJECT

public:

explicitWidget(QWidget*parent=0);

~Widge();

privateslots

voidon_doubleSpinBox_1_valueChanged();

voidon_doubleSpinBox_2_valueChanged();

voidon_doubleSpinBox_3_valueChanged();

voidon_doubleSpinBox_4_valueChanged();

voidon_doubleSpinBox_5_valueChanged();

voidon_doubleSpinBox_6_valueChanged();

voidon_doubleSpinBox_7_valueChanged();

voidon_doubleSpinBox_8_valueChanged();

private:

Ui:

:

Widget*ui;

};

#endif//WIDGET_H

(2)在widget.cpp源文件中

#include"

widget.h"

ui_widget.h"

Widget:

WidgetQWidget*parent):

QWidget(parent),

ui(newUi:

Widget)

ui->

setupUi(this);

}

voidWidget:

on_doubleSpinBox_1_valueChanged()ui->

outout_plu&

>

setTextQString:

number(ji->

doubleSpinBox_1>

value()+ui->

doubleSpinBox_2>

value()));

on_doubleSpinBox_2_valueChanged()

on_doubleSpinBox_3_valueChanged()

outout_minu&

setText(QString:

doubleSpinBox_3>

value()-ui->

doubleSpinBox_4>

on_doubleSpinBox_4_valueChanged()

on_doubleSpinBox_5_valueChanged()

outout_multi->

setText(QString:

numberQi->

doubleSpinBox_5>

value()*ui->

doubleSpinBox_6>

on_doubleSpinBox_6_valueChanged()

on_doubleSpinBox_7_valueChanged()

outout_div->

number(ji->

doubleSpinBox_7>

value()/

doubleSpinBox_8>

on_doubleSpinBox_8_valueChanged()

outout_div->

doubleSpinBox_7>

value()/ui->

~Widget()

deleteui;

2、带显示界面的计算器:

(1)在shiyanB.pro项目文件中

QT

+=coregui

QT+=scriptgreaterThanQT_MAJOR_VERSION,4):

QT+=widgetsTARGET=shiyanB

TEMPLATE=app

SOURCES+=

widget.cpp

HEADERS+=widget.h

FORMS+=widget.ui

(2)在头文件widget.h中

QtScript>

QWidget"

報HS旨9w«

F()9EnN>

loopo>

報Hs旨9w«

FogEnEoopo>

報Hs旨寸w«

10寸EnEoopo>

報Hs旨0w«

FoeEnEoopo>

報Hs旨CXIw«

FOCXIEnEoopo>

報Hs旨Lw«

F()LEnN>

so-s0一-qnd

Q①6p一m〜sHluped*a)6p一MO¥

6P一m10一dx①。

*超阻则1wns6£

」co0o一-qnd_LO山畐010

a)6p一Moo-qnd-a)6p一Msseo

 

护八!

」d=//!

()|nb3>

|0!

|0pjOA

嫌国辭阴/®

$f//乂)八!

CPP!

QP!

OA//!

()nin|AI>

|O!

PP!

OA。

嫌国辭阴-册第//!

()snui|Al>

嫌国辭阴+册第//!

()sn|d>

嫌国辭阴o记|即//!

()8^|8a>

OA

0^®

aWUB8l°

//()ue8|9>

ppjOA

嫌国辭阴(册第/Z()i8>

|oejq^>

ppjOA//:

()妙paicn>

P!

QPjOA〃伽!

0押旧P!

嫌国辭阴0//!

()omnN>

PPjOA

嫌国辭阴6//!

()6innN>

嫌国辭阴8//!

()8innN>

嫌国制明L//!

()ZiunN>

};

(3)在源文件widget.cpp中

#inelude"

sum="

"

;

connect(ii->

pushButton_1,SIGNAL(clicked())this,SLOT(clickNum1()));

connect(ji->

pushButton_2SIGNAL(clicked())this,SLOT(clickNum2()));

pushButton_3SIGNAL(clicked())this,SLOT(clickNum3()));

connect(ui->

pushButton_4SIGNAL(clicked())this,SLOT(clickNum4()));

pushButton_5SIGNAL(clicked())this,SLOT(clickNum5()));

pushButton_6SIGNAL(clicked())this,SLOT(clickNum6()));

connect©

i->

pushButton_7SIGNAL(clicked())this,SLOT(clickNum7()));

pushButton_8SIGNAL(clicked())this,SLOT(clickNum8()));

pushButton_9SIGNAL(clicked())this,SLOT(clickNum9()));

pushButton_0SIGNAL(clicked())this,SLOT(clickNumO()));

pushButton_point,SIGNAL(clicked())this,SLOT(clickPoint()));

pushButton_lbracketSIGNAL(clicked())this,SLOT(clickLbracket()));

pushButton_rbracketSIGNAL(clicked())this,SLOT(clickRbracket()));

pushButton_cleanSIGNAL(clicked())this,SLOT(clickClean()));

pushButton_deleteSIGNAL(clicked())this,SLOT(clickDelete()));

pushButton_plusSIGNAL(clicked())this,SLOT(clickPlus()));

connect(ui->

pushButton_minusSIGNAL(clicked())this,SLOT(clickMinus()));

pushButton_multi,SIGNAL(clicked())this,SLOT(clickMulti()));

connect(ji->

pushButton_div,SIGNAL(clicked())this,SLOT(clickDiv()));

connectJi->

pushButton_eqjJSIGNAL(clicked())this,SLOT(clickEqul()));

clickNum1()〃按钮1的槽函数。

QStringnum1="

1"

QStringstr=ui->

lineEdit->

text();

str=st叶numl;

if(ui->

text()=="

O"

lineEdit->

setText(numl);

else

setText(str);

clickNum2()〃按钮2的槽函数。

QStringnum仁"

2"

QStringstr=ui->

str=str+num1;

clickNum3()〃按钮3的槽函数。

3"

str=st叶num1;

lineEdit->

clickNum4()〃按钮4的槽函数。

4"

setText(numl);

clickNum5()〃按钮5的槽函数。

5"

setText(num1);

clickNum6()〃按钮6的槽函数。

6"

clickNum7()〃按钮7的槽函数。

7"

clickNum8()〃按钮8的槽函数。

8"

clickNum9()〃按钮9的槽函数。

9"

clickNumO()〃按钮0的槽函数。

0"

clickPoint()〃按钮point的槽函数。

{

."

QStringnum2="

0."

setText(num2);

clickLbracket()〃按钮Ibracket的槽函数。

(”;

ols)x①匕①s八丄一p山①u=A'

n

-(LLUnu)x①匕①s八丄一p山①u=A'

(=0=HH01X①A&

P山①u=2n)七

=lunu+」lsH」ls

ox①A&

P山①u=A.'

nH」ls6UWS0

r(・llLEnu6£

」cn0

報Hs旨0)>

pe」q」w«

M)a)>

pe」qM>

loo匸①6p一mpo>

(x()£

6u£

」1s)七①S05

=e)x①_LO)SA£

P山①u=A'

(uH()£

6ugs)±

nH」ls6UWSO

-b.lle6UWSO

報Hs旨①a)a)pw«

二¥

0)0)900匸①6p一Mpo>

zallLEnu6UUC6O

clickPlus()〃按钮+的槽函数。

+"

sum=str+num1;

setText(sum);

clickMinus()〃按钮-的槽函数。

-"

clickMulti()//按钮*的槽函数。

QStringnum1="

*"

clickDiv()//按钮/的槽函数。

/"

clickEqul()〃按钮=的槽函数。

QScriptEngineengine;

//QScriptEngine类为程序提供一个嵌入式脚本环境,每一个引擎都是一个轻量级自包含的虚拟机。

QScriptValueresult=engine.evaluate(str);

调用脚本引擎的evaluate(函数可以执行脚本,此处即可算出之前输入的字符串算式的结果。

lineEdit->

setText(result.toString())//调用QScriptValue类的toString()函数将QScriptValue类的执行结果转换成string型。

实验分析:

这两个小实验可以实现简单计算器的四则运算功能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1