基于QT可在arm开发板运行的学生信息管理系统33页

上传人:文库****9 文档编号:173999771 上传时间:2021-03-15 格式:DOCX 页数:33 大小:557.13KB
返回 下载 相关 举报
基于QT可在arm开发板运行的学生信息管理系统33页_第1页
第1页 / 共33页
基于QT可在arm开发板运行的学生信息管理系统33页_第2页
第2页 / 共33页
基于QT可在arm开发板运行的学生信息管理系统33页_第3页
第3页 / 共33页
基于QT可在arm开发板运行的学生信息管理系统33页_第4页
第4页 / 共33页
基于QT可在arm开发板运行的学生信息管理系统33页_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《基于QT可在arm开发板运行的学生信息管理系统33页》由会员分享,可在线阅读,更多相关《基于QT可在arm开发板运行的学生信息管理系统33页(33页珍藏版)》请在金锄头文库上搜索。

1、嵌入式Linux应用与开发课程大作业题目:学生信息管理系统专业:姓名:学号:成绩:2015年 7 月II任务书大作业6:学生信息管理系统(单人独立完成)功能需求:本系统用于对学生信息的管理,要求必须对数据库进行操作,建立至少三个数据表,并提供“登陆验证界面”、“添加学生信息”、“查询某个学生信息”、“统计目前学生人数”、“删除某个学生信息”、“退出”等功能,界面设计美观,布局合理,并下载移植到ARM2440S嵌入式开发板上。具体功能要求:1、 学生信息查询功能1) 按姓名查询 2) 按学号名查询 2、 学生信息修改与删除3、 学生信息添加功能4、 统计当前学生人数5、 登录验证功能提示:系统可

2、采用QT界面+MySQL数据库实现摘要本设计是嵌入式linux应用程序开发的典型例程,采用QT-creater编写的基于数据库支持的学生信息管理系统,移植到armTQ2440开发板运行。贯通了嵌入式应用程序开发的全过程。此系统实现了数据库的数据表的查询、插入、删除、更新操作。系统的编译采用了常用的linux操作系统、qt-creater -opensource-5.4.2、arm-linux-gcc-4.3.3交叉编译器。采用超级终端secureCRT工具将编译好的工程可执行文件移植到开发。本系统在嵌入式的应用前景广大,各学校拥有这样的便携式信息系统,可以随时随地的对学生信息进行查询,便于对学

3、生的管理。关键字:嵌入式linux应用程序开发 学生信息管理系统 armTQ2440 QTcreater目录1 设计题目的内容、任务及具体要求12 总体设计思路22.1 开发环境22.1.1 编写语言22.1.2 开发环境22.1.3 运行环境22.2 系统详细设计22.2.1 系统数据结构设计22.2.2 系统界面设计33 功能模块的具体设计63.1 登陆验证模块设计63.2 查询学生信息模块设计73.3 学生信息修改和删除模块设计93.4 添加学生信息模块设计143.5 统计目前学生人数模块设计164 功能模块的调试及测试17总结20致谢21参考资料22IV1 设计题目的内容、任务及具体要

4、求本课程是嵌入式linux应用程序开发,所以在本次课程中我们应该熟悉掌握应用程序开发的具体流程,所以本次课题选择用QT5.4.2编写一个简易的基于数据库操作的学生信息管理系统,由于QT5版本支持数据库,所以就不用再用其他的数据库开发软件了,免除了数据库的连接及移植操作。系统任务:本系统主要用于对学生信息的管理,提供“登陆验证界面”、“添加学生信息”、“查询某个学生信息”、“统计目前学生人数”、“删除某个学生信息”、“退出”等功能,界面设计美观,布局合理,并下载移植到ARM2440S嵌入式开发板上。具体功能要求:1、学生信息查询功能1) 按姓名查询 2) 按学号名查询 2、学生信息修改与删除3、

5、学生信息添加功能4、统计当前学生人数5、登录验证功能2 总体设计思路2.1 开发环境2.1.1 编写语言本设计使用基于C+的图形用户界面软件Qt软件编写。Qt应用程序框架由奇趣科技公司开发(现属诺基亚公司),是一种基于C+语言的面向用户的图形界面语言,可以构建出工业级的跨平台应用程序。在源代码不经任何修改的情况下,程序即可流畅的运行于Windows、Linux/UNIX、Mac OS X和嵌入式Linux上,“一次编写,随处编译”,具有较强的可移植性。2.1.2 开发环境本设计在linux操作系统下,使用qt-creator-win-opensource-5.4.2程序编写。2.1.3 运行环

6、境在linux下安装arm-linux-gcc-4.3.3交叉编译器,通过qmake、make操作生成arm开发板可执行的文件。然后将此文件移植到开发板运行即可。本设计采用的是armTQ2440开发板。2.2 系统详细设计2.2.1 系统数据结构设计本系统通过QSqlDatabase定义了一个 QSQLITE类型的数据库。在数据库中创建了两个数据表user、student,分别存储用户登录信息和学生具体信息。Table User(id int primary key, password varchar)Table Student(id int primary key, name varchar

7、, sex varchar, age int, course varchar)2.2.2 系统界面设计本系统根据功能共设计了6个界面,分别有用户登录界面、功能菜单界面、信息查询功能界面、信息修改与删除功能界面、信息添加功能界面、学生信息统计功能界面。各界面具体设计如图所示: 图 2.1 用户登录界面 图 2.2 功能菜单界面 图 2.3 信息查询功能界面 图 2.4 信息修改与删除功能界面 图 2.5 信息添加功能界面 图 2.6 信息统计功能界面各界面中使用到的控件有lable、line Edit、Group Box、Push Button、Check Box等。界面form统一大小400x

8、270。背景颜色为紫色。3 功能模块的具体设计3.1 登陆验证模块设计操作说明:输入正确的用户信息,点击“登录”按钮就会跳转到下一个菜单界面,并且关闭登录界面。如果输入的信息不正确,如图3.1所示,会提示错误。如果点击“退出”按钮,就会关闭界面,退出系统。 图 3.1 用户登录界面本模块主要实现用户登录验证功能。通过数据库查询操作,将line text输入的数据与User表中的数据进行比较。然后做出相应的操作。具体程序设计如下:void Init_interface:on_pB_enter_clicked() QString ID = ui-lineEdit_userID-text(); QS

9、tring Password = ui-lineEdit_password-text(); QSqlQuery query; query.exec(select * from user); while(query.next() int tmp1=ID.toInt(); QString tmp2=Password; int R1=query.value(0).toInt(); QString R2=query.value(1).toString(); int x = QString:compare(tmp2,R2,Qt:CaseInsensitive); if(tmp1=R1 & x=0 ) t

10、his-close(); menu *m = new menu(); m-show(); else ui-label_error-setText(QString:fromUtf8(用户名或密码错误!); 3.2 查询学生信息模块设计操作说明:本模块提供学号查询以及姓名查询两种查询方式,如果勾选学号查询,然后输入学号,如果有此相关信息,便会显示出这个学生的信息,如图3.2。姓名查询与学号查询操作一样,如图3.3。点击“返回上级”可返回菜单界面。点击“退出”可关闭界面,退出系统。 图 3.2 学号查询 图 3.3 姓名查询本模块主要实现数据库查询功能,通过条件查询显示出相关信息,具体程序设计如下:

11、void refer:on_pB_selectOk_clicked() if(flag=1) QString Name = ui-lineEdit_refercondition-text(); QSqlQuery query; query.exec(QString(select id,name,sex,age,course from student where name=%1).arg(Name); while(query.next() int id = query.value(0).toInt(); QString name = query.value(1).toString(); QStr

12、ing sex = query.value(2).toString(); QString age = query.value(3).toString(); QString course = query.value(4).toString(); / qDebug()idnamesexagelabel_StuID-setText(QString( %1).arg(id); ui-label_StuName-setText(QString( %1).arg(name); ui-label_StuSex-setText(QString( %1).arg(sex); ui-label_StuAge-se

13、tText(QString( %1).arg(age); ui-label_StuClass-setText(QString( %1).arg(course); if(flag=2) QString ID= ui-lineEdit_refercondition-text(); QSqlQuery query; query.exec(QString(select id,name,sex,age,course from student where id=%1).arg(ID); while(query.next() int id = query.value(0).toInt(); QString name =

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号