搜档网
当前位置:搜档网 › 嵌入式系统之基于QT的简单计算器

嵌入式系统之基于QT的简单计算器

嵌入式系统之基于QT的简单计算器
嵌入式系统之基于QT的简单计算器

嵌入式系统之基于Q T

的简单计算器

Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

嵌入式系统课程设计报告

题目:基于QT的简单计算器

专业:计算机科学与技术

班级:

姓名:

学号:

指导老师:

日期:2012-12-26

第一章前言

设计背景

计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。

设计目的

本程序是基于linux下的嵌入式开发,所用软件为QT Creator,程序虽然简单,但是通过本程序的设计,可以进一步了解嵌入式系统开发工具以及熟悉linux环境下的常用命令,为以后进入嵌入式领域打下一定的基础。

通过该计算器程序软件的设计,培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C++程序语言设计》和《高级程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程。

第二章功能需求分析

功能描述

本次设计的计算器在功能上大致与Windows系统自带的计算器程序相似,对于所设计的科学计算器,其功能大致为可以进行加(+)、减(-)、乘(*)、除(/)、简单算术计算。由于接触QT时间还不太久,所以目前只能简单地实现这些功能,相信随着以后逐步的了解,本程序将实现更多的功能。

第三章开发工具简介

QT简介

由于本次设计的小程序是用QT Creator所设计的,所以我觉得有必要先介绍下QT 开发工具的背景。

Qt是一个1991年由奇趣科技开发的跨平台C++图形界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。

QT所具有的优势是:优良的跨平台特性,Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。

面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。

丰富的 API:Qt 包括多达 250 个以上的 C++ 类,还提供基于模板的collections, serialization, file, I/O device, directory management,date/time 类。甚至还包括正则表达式的处理功能。支持 2D/3D 图形渲染,支持OpenGL大量的开发文档。

第四章详细设计过程

开发环境的搭建

本次所用系统环境为Ubuntu LTS,内核为Ubuntu搭建QT环境大致过程为:

1.安装g++,ubuntu默认是不带g++的,如果不安装的话,后面是无法进行桌面版的qt应用程序进行编译的,在终端中执行以下命令:

sudo apt-get install g++

2. Qt桌面版的安装

3.安装arm-linux-gcc (配置环境变量gedit /.bashrc 添加路径

export PATH=$PATH:/opt/FriendlyARM/toolschain/)

使配置文件立即生效:source /.bashrc或者注销logout 最好重启

(arm-linux-gcc -v查看版本信息)

4.安装编译库文件

5. 配置Qt编译ARM的环境(解压编译时间较长,具体过程不再赘述)

程序实现

对于界面的设计,采用的网格布局作为主布局,然后使用其addWidget函数添加部件,最后实现了基本的简易计算机的界面。程序最终界面如下:

首先创建一个工程项目,名字为jsq,接着编写各个功能部件函数,这里仍使用信函和槽连接机制,我们没有使用信号和槽编辑器,而是直接在.cpp文件中添编写其代码来实现,首先在.h文件中对各个按键进行声明, 再到.cpp文件中编写相应的代码实现其功能。例如窗体控制程序,按钮程序,计算功能则在程序代码中实现。软件工作界面如下:

对于计算器,在界面上,点击相应的按钮,信号会随着点击传递到相应的槽函数中,并实现函数的功能,经过处理得到相应的结果。并能够将结果输出。下面依次介绍按钮及所连接的槽函数

相应的连接信号语句:

Button *clearAllButton = createButton(tr("Clear"), SLOT(Clear ()));

RM嵌入式系统教程[M].北京:机械工业出版社,2012:191-261.

[3] 闫锋欣,曾泉人.C++ GUI QT4编程(第二版)[M].北京:电子工业出版社,2010:108-232.

[4] 闫放莺.基于嵌入式 Linux 软件平台技术的研究[D].西安:西北大学,2006.

[5] 郭兵.嵌入式软件开放式集成开发平台体系结构研究[D].成都:电子科技大学,2002.

[6] 谭浩强.C++面向对象程序设计[M].北京:清华大学出版社,.

相关主题