用QT简单编写的学生信息管理系统.doc_第1页
用QT简单编写的学生信息管理系统.doc_第2页
用QT简单编写的学生信息管理系统.doc_第3页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文档系作者精心整理编辑,实用价值高。1.设计目的本系统为使学校适应工作发展的需要,加快信息化建设,提高学生信息管理效率与准确性。本系统由学生信息查看系统,学生信息修改系统,学生信息删除系统,学生信息添加系统组成。2.设计内容该系统通过QT编程完成,主要拥有五个界面。(1) 主窗口有菜单栏和工具栏,菜单栏编辑菜单中有Add、Search、Modify、Delete菜单项,且当这些菜单项属于激活状态时,状态栏显示自己的学号和名字。该主窗口的标题为自己的学号和名字,在主窗口中央显示Student Management System。(2) Add界面要求打开界面时,显示出文件里的所有信息,点击增加按钮以后,标签显示自己的学号与名字,将增加的内容添加至文件中,并显示出来。(3) Search界面,通过输入学号就能查询该学生的相应信息,并显示出来,点击按钮以后标签显示自己的学号和名字。(4) Modify界面,通过输入学号,输出该学生的相应信息,通过往各文本区里写入相应的修改后的信息,点击修改按钮后修改文件内容,并将该学生的新的信息显示在文本区中,标签显示自己的学号和名字。(5) Delete界面要求界面打开时出现文件中所有学生的信息,通过输入学号选择需删除的信息行,当点击按钮时标签显示自己的名字和学号。3. 需求描述 图1 系统用例图4.系统设计 4.1顺序图 图2 添加模块顺序图 图3 查询模块顺序图 图4 修改模块顺序图 图5 删除模块顺序图 4.1活动图 图6系统活动图 4.2构件图 图7 构件图4.6 文件内容 Num NameSexAge 0906054207zhanglianghonggirl210906054201zhangdigirl210906054202zhangqiuwengirl210906054203yuanyukun girl210906054204mayanjuan girl215.系统实现5.1开发工具及系统运行环境 开发工具:QT Designer 运行环境:Linux5.2 主窗口实现 图8 主窗口功能描述:主窗口有菜单栏和工具栏,菜单栏编辑菜单中有Add、Search、Modify、Delete菜单项,且当这些菜单项属于激活状态时,状态栏显示自己的学号和名字。该主窗口的标题为自己的学号和名字,在主窗口中央显示Student Management System。点击相应的菜单项,跳转到相应界面。主要代码: 在主窗口的.h文件中声明窗体对象,和槽函数。 AddFrame* addf; SearchFrame*adds; DeleteFrame*deletef; ModifyFrame* modifyf;public slots: virtual void add(); virtual void search(); virtual void delete1(); virtual void modify();在主窗口的.cpp文件的构造函数中创建个窗体对象。 addf=new AddFrame(this,0); Searchf=new SearchFrame(this,0); deletef=new DeleteFrame(this,0); modifyf=new ModifyFrame(this,0); 设置窗体标题 setCaption( tr( 0906054207 zhanglianghong ) ); 关联槽函数 connect( editAddAction, SIGNAL( activated() ), this, SLOT( add() ) );connect(editSearchAction,SIGNAL(activated(),this,SLOT( search() ) );connect(editDeleteAction,SIGNAL(activated(),this,SLOT( delete1();connect(editModifyAction,SIGNAL(activated(),this,SLOT( modify() ) ); 当相应菜单栏被激活时,状态栏中显示自己的学号和名字 editAddAction-setText( tr( 0906054207 zhanglianghong ) );editSearchAction-setText( tr( 0906054207 zhanglianghong ) );editDeleteAction-setText( tr( 0906054207 zhanglianghong ) );editModifyAction-setText( tr( 0906054207 zhanglianghong ) ); 实现槽函数 void MainFrame:add() addf-show(); Void MaiFrame:search() searchf-show(); void MaiFrame:delete1() deletef-show(); void MaiFrame:modify() modifyf-show(); 5.3 添加窗口实现 图9 添加窗口 功能描述:Add界面要求打开界面时,显示出文件里的所有信息,点击增加按钮以后,标签显示自己的学号与名字,将增加的内容添加至文件中,并显示出来。主要代码: 在文本区里显示文件信息: QFile myfile(./sms); /定义文件对象myfile.open(IO_ReadOnly);/以只读方式打开问价QTextStream ts(&myfile); /定义一个流对象while(ts.atEnd()=0) /将流里的数据按行读出并写入文本区中textEdit1-append(ts.readLine();myfile.close();/关闭文件 将按钮与槽函数关联 connect( pushButton1, SIGNAL( clicked() ), this, SLOT( saveAdd() ) );实现槽函数 void AddFrame:saveAdd()QString nums,names,sexs,ages,s; QFile file(./sms); file.open(IO_Append|IO_WriteOnly); QTextStream out(&file);nums=lineEdit1-text();/获取文本框里的字符串 names=lineEdit2-text(); sexs=lineEdit3-text(); ages=lineEdit4-text();s=nums.append(); /将获取的字符串按一定的格式连接起来s=nums.append(names);s=nums.append();s=nums.append(sexs);s=nums.append();s=nums.append(ages); out s append(s);/将新信息显示到文本区中 file.close(); textLabel7-setText(0906054207 zhanglianghong);/标签显示学号姓名5.4 查询窗口实现 图9 查询窗口功能描述:Search界面,通过输入学号就能查询该学生的相应信息,并显示出来,点击按钮以后标签显示自己的学号和名字。主要代码:void SearchFrame:searchButton()textEdit4-setText(tr(num name sex age ) );textLabel8-setText(0906054207 zhanglianghong);/标签显示学号和姓名 QString s= lineEdit5-text();/获取文本框中的字符串QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);while(!stream.atEnd()QString str=stream.readLine(); if(str.contains(s)=1)/判断流中是否含有包含字符串s的行 textEdit4-append(str);/将查到的行显示到文本区中f.close();5.5 删除窗口实现 图10 删除窗口功能描述:Delete界面要求界面打开时出现文件中所有学生的信息,通过输入学号选择需删除的信息行,当点击按钮时标签显示自己的名字和学号。主要代码:显示界面是文本区里显示文件里的内容: QFile myfile(./sms); /定义文件对象myfile.open(IO_ReadOnly);/以只读方式打开问价QTextStream ts(&myfile); /定义一个流对象while(ts.atEnd()=0) /将流里的数据按行读出并写入文本区中textEdit1-append(ts.readLine();myfile.close();/关闭文件实现槽函数:void DeleteFrame:deleteButton() textLabel10-setText(0906054207 zhanglianghong); QString s= lineEdit6-text(); QStringList sl;/定义一个 QStringList对象QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);QString str;while(!stream.atEnd()str=stream.readLine(); if(str.contains(s)!=1)/如果该行中不包含s字符串 sl.append(str);/将该字符串添加到 QStringList对象中f.close(); /将 QStringList对象中的字符串重新写入文件中QFile f1(./sms);f1.open(IO_WriteOnly);QTextStream stream1(&f1);for ( QStringList:Iterator it = sl.begin(); it != sl.end(); +it ) stream1 *it setText(); QFile f2(./sms);f2.open(IO_ReadOnly);QTextStream stream2(&f2);while(!stream2.atEnd()QString str=stream2.readLine(); textEdit5-append(str);f2.close();5.6 修改窗口实现 图11 修改窗口主要功能描述:Modify界面,通过输入学号,输出该学生的相应信息,通过往各文本区里写入相应的修改后的信息,点击修改按钮后修改文件内容,并将该学生的新的信息显示在文本区中,标签显示自己的学号和名字。主要代码:实现槽函数:void ModifyFrame:modifyButton()QString s= lineEdit7-text();/获取文本框里的字符串QString name=lineEdit8-text();QString sex= lineEdit9-text();QString age= lineEdit10-text();QString s2;s2=s.append();/将获取的字符串按一定的格式连接起来s2=s.append(name);s2=s.append();s2=s.append(sex);s2=s.append();s2=s.append(age); QStringList sl;/将文件的信息一行一行的添加到QStringList定义的对象中QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);QString str;while(!stream.atEnd()str=stream.readLine(); if(str.contains(lineEdit7-text()!=1)/当该行中包含该字符串 sl.append(str);/就在QStringList定义的对象sl中添加新信息Strelse sl.append(s2);/否则将流中的行添加到QStringList定义的对象sl中 f.close();QFile f1(./sms);/QStringList定义的对象sl中的内容写到文件中 slf1.open(IO_WriteOnly);QTextStream stream1(&f1);for ( QStringList:Iterator it = sl.begin(); it != sl.end(); +it ) stream1 *it setText( tr( num name sex age ) ); textEdit6-append(s2);/显示修改后的新信息6.心得体会 通过此次实验设计,感觉自己学的知识不够扎实,感觉是眼高手低。 在QT编程中遇到很多困难,包括虚拟机、Linux系统所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论