用QT簡(jiǎn)單編寫的學(xué)生信息管理系統(tǒng)_第1頁(yè)
用QT簡(jiǎn)單編寫的學(xué)生信息管理系統(tǒng)_第2頁(yè)
用QT簡(jiǎn)單編寫的學(xué)生信息管理系統(tǒng)_第3頁(yè)
用QT簡(jiǎn)單編寫的學(xué)生信息管理系統(tǒng)_第4頁(yè)
用QT簡(jiǎn)單編寫的學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1.設(shè)計(jì)目的本系統(tǒng)為使學(xué)校適應(yīng)工作開展的需要,加快信息化建設(shè),提高學(xué)生信息管理效率與準(zhǔn)確性。本系統(tǒng)由學(xué)生信息查看系統(tǒng),學(xué)生信息修改系統(tǒng),學(xué)生信息刪除系統(tǒng),學(xué)生信息添加系統(tǒng)組成。2.設(shè)計(jì)內(nèi)容該系統(tǒng)通過(guò)QT編程完成,主要擁有五個(gè)界面。主窗口有菜單欄和工具欄,菜單欄編輯菜單中有Add、Search、Modify、Delete菜單項(xiàng),且當(dāng)這些菜單項(xiàng)屬于激活狀態(tài)時(shí),狀態(tài)欄顯示自己的學(xué)號(hào)和名字。該主窗口的標(biāo)題為自己的學(xué)號(hào)和名字,在主窗口中央顯示Student Management System。Add界面要求翻開界面時(shí),顯示出文件里的所有信息,點(diǎn)擊增加按鈕以后,標(biāo)簽顯示自己的學(xué)號(hào)與名字,將增加的內(nèi)容添加至

2、文件中,并顯示出來(lái)。Search界面,通過(guò)輸入學(xué)號(hào)就能查詢?cè)搶W(xué)生的相應(yīng)信息,并顯示出來(lái),點(diǎn)擊按鈕以后標(biāo)簽顯示自己的學(xué)號(hào)和名字。Modify界面,通過(guò)輸入學(xué)號(hào),輸出該學(xué)生的相應(yīng)信息,通過(guò)往各文本區(qū)里寫入相應(yīng)的修改后的信息,點(diǎn)擊修改按鈕后修改文件內(nèi)容,并將該學(xué)生的新的信息顯示在文本區(qū)中,標(biāo)簽顯示自己的學(xué)號(hào)和名字。Delete界面要求界面翻開時(shí)出現(xiàn)文件中所有學(xué)生的信息,通過(guò)輸入學(xué)號(hào)選擇需刪除的信息行,當(dāng)點(diǎn)擊按鈕時(shí)標(biāo)簽顯示自己的名字和學(xué)號(hào)。需求描述 圖1 系統(tǒng)用例圖4.系統(tǒng)設(shè)計(jì) 4.1順序圖 圖2 添加模塊順序圖 圖3 查詢模塊順序圖 圖4 修改模塊順序圖 圖5 刪除模塊順序圖 4.1活動(dòng)圖 圖6系統(tǒng)

3、活動(dòng)圖 4.2構(gòu)件圖 圖7 構(gòu)件圖4.6 文件內(nèi)容 Num NameSexAge 0906054207zhanglianghonggirl210906054201zhangdigirl210906054202zhangqiuwengirl210906054203yuanyukun girl210906054204mayanjuan girl215.系統(tǒng)實(shí)現(xiàn)5.1開發(fā)工具及系統(tǒng)運(yùn)行環(huán)境 開發(fā)工具:QT Designer 運(yùn)行環(huán)境:Linux5.2 主窗口實(shí)現(xiàn) 圖8 主窗口功能描述:主窗口有菜單欄和工具欄,菜單欄編輯菜單中有Add、Search、Modify、Delete菜單項(xiàng),且當(dāng)這些菜單項(xiàng)屬于

4、激活狀態(tài)時(shí),狀態(tài)欄顯示自己的學(xué)號(hào)和名字。該主窗口的標(biāo)題為自己的學(xué)號(hào)和名字,在主窗口中央顯示Student Management System。點(diǎn)擊相應(yīng)的菜單項(xiàng),跳轉(zhuǎn)到相應(yīng)界面。主要代碼: 在主窗口的.h文件中聲明窗體對(duì)象,和槽函數(shù)。 AddFrame* addf; SearchFrame*adds; DeleteFrame*deletef; ModifyFrame* modifyf;public slots: virtual void add(); virtual void search(); virtual void delete1(); virtual void modify();在主窗口

5、的.cpp文件的構(gòu)造函數(shù)中創(chuàng)立個(gè)窗體對(duì)象。 addf=new AddFrame(this,0); Searchf=new SearchFrame(this,0); deletef=new DeleteFrame(this,0); modifyf=new ModifyFrame(this,0); 設(shè)置窗體標(biāo)題 setCaption( tr( 0906054207 zhanglianghong ) ); 關(guān)聯(lián)槽函數(shù) connect( editAddAction, SIGNAL( activated() ), this, SLOT( add() ) );connect(editSearchActio

6、n,SIGNAL(activated(),this,SLOT( search() ) );connect(editDeleteAction,SIGNAL(activated(),this,SLOT( delete1();connect(editModifyAction,SIGNAL(activated(),this,SLOT( modify() ) ); 當(dāng)相應(yīng)菜單欄被激活時(shí),狀態(tài)欄中顯示自己的學(xué)號(hào)和名字 editAddAction-setText( tr( 0906054207 zhanglianghong ) );editSearchAction-setText( tr( 09060542

7、07 zhanglianghong ) );editDeleteAction-setText( tr( 0906054207 zhanglianghong ) );editModifyAction-setText( tr( 0906054207 zhanglianghong ) ); 實(shí)現(xiàn)槽函數(shù) void MainFrame:add() addf-show(); Void MaiFrame:search() searchf-show(); void MaiFrame:delete1() deletef-show(); void MaiFrame:modify() modifyf-show();

8、 5.3 添加窗口實(shí)現(xiàn) 圖9 添加窗口 功能描述:Add界面要求翻開界面時(shí),顯示出文件里的所有信息,點(diǎn)擊增加按鈕以后,標(biāo)簽顯示自己的學(xué)號(hào)與名字,將增加的內(nèi)容添加至文件中,并顯示出來(lái)。主要代碼: 在文本區(qū)里顯示文件信息: QFile myfile(./sms); /定義文件對(duì)象myfile.open(IO_ReadOnly);/以只讀方式翻開問(wèn)價(jià)QTextStream ts(&myfile); /定義一個(gè)流對(duì)象while(ts.atEnd()=0) /將流里的數(shù)據(jù)按行讀出并寫入文本區(qū)中textEdit1-append(ts.readLine();myfile.close();/關(guān)閉文件 將按鈕與

9、槽函數(shù)關(guān)聯(lián) connect( pushButton1, SIGNAL( clicked() ), this, SLOT( saveAdd() ) );實(shí)現(xiàn)槽函數(shù) 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=l

10、ineEdit4-text();s=nums.append(); /將獲取的字符串按一定的格式連接起來(lái)s=nums.append(names);s=nums.append();s=nums.append(sexs);s=nums.append();s=nums.append(ages); out s append(s);/將新信息顯示到文本區(qū)中 file.close(); textLabel7-setText(0906054207 zhanglianghong);/標(biāo)簽顯示學(xué)號(hào)姓名5.4 查詢窗口實(shí)現(xiàn) 圖9 查詢窗口功能描述:Search界面,通過(guò)輸入學(xué)號(hào)就能查詢?cè)搶W(xué)生的相應(yīng)信息,并顯示出來(lái),

11、點(diǎn)擊按鈕以后標(biāo)簽顯示自己的學(xué)號(hào)和名字。主要代碼:void SearchFrame:searchButton()textEdit4-setText(tr(num name sex age ) );textLabel8-setText(0906054207 zhanglianghong);/標(biāo)簽顯示學(xué)號(hào)和姓名 QString s= lineEdit5-text();/獲取文本框中的字符串QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);while(!stream.atEnd()QString str=stream.readLine(

12、); if(str.contains(s)=1)/判斷流中是否含有包含字符串s的行 textEdit4-append(str);/將查到的行顯示到文本區(qū)中f.close();5.5 刪除窗口實(shí)現(xiàn) 圖10 刪除窗口功能描述:Delete界面要求界面翻開時(shí)出現(xiàn)文件中所有學(xué)生的信息,通過(guò)輸入學(xué)號(hào)選擇需刪除的信息行,當(dāng)點(diǎn)擊按鈕時(shí)標(biāo)簽顯示自己的名字和學(xué)號(hào)。主要代碼:顯示界面是文本區(qū)里顯示文件里的內(nèi)容: QFile myfile(./sms); /定義文件對(duì)象myfile.open(IO_ReadOnly);/以只讀方式翻開問(wèn)價(jià)QTextStream ts(&myfile); /定義一個(gè)流對(duì)象while(

13、ts.atEnd()=0) /將流里的數(shù)據(jù)按行讀出并寫入文本區(qū)中textEdit1-append(ts.readLine();myfile.close();/關(guān)閉文件實(shí)現(xiàn)槽函數(shù):void DeleteFrame:deleteButton() textLabel10-setText(0906054207 zhanglianghong); QString s= lineEdit6-text(); QStringList sl;/定義一個(gè) QStringList對(duì)象QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);QString st

14、r;while(!stream.atEnd()str=stream.readLine(); if(str.contains(s)!=1)/如果該行中不包含s字符串 sl.append(str);/將該字符串添加到 QStringList對(duì)象中f.close(); /將 QStringList對(duì)象中的字符串重新寫入文件中QFile f1(./sms);f1.open(IO_WriteOnly);QTextStream stream1(&f1);for ( QStringList:Iterator it = sl.begin(); it != sl.end(); +it ) stream1 *it

15、 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 修改窗口實(shí)現(xiàn) 圖11 修改窗口主要功能描述:Modify界面,通過(guò)輸入學(xué)號(hào),輸出該學(xué)生的相應(yīng)信息,通過(guò)往各文本區(qū)里寫入相應(yīng)的修改后的信息,點(diǎn)擊修改按鈕后修改文件內(nèi)容,并將該學(xué)生的新的信息顯示在文本區(qū)中,標(biāo)簽顯示自己的學(xué)號(hào)和名字。主要代碼:實(shí)現(xiàn)槽函數(shù):void Modif

16、yFrame:modifyButton()QString s= lineEdit7-text();/獲取文本框里的字符串QString name=lineEdit8-text();QString sex= lineEdit9-text();QString age= lineEdit10-text();QString s2;s2=s.append();/將獲取的字符串按一定的格式連接起來(lái)s2=s.append(name);s2=s.append();s2=s.append(sex);s2=s.append();s2=s.append(age); QStringList sl;/將文件的信息一行一

17、行的添加到QStringList定義的對(duì)象中QFile f(./sms);f.open(IO_ReadOnly);QTextStream stream(&f);QString str;while(!stream.atEnd()str=stream.readLine(); if(str.contains(lineEdit7-text()!=1)/當(dāng)該行中包含該字符串 sl.append(str);/就在QStringList定義的對(duì)象sl中添加新信息Strelse sl.append(s2);/否那么將流中的行添加到QStringList定義的對(duì)象sl中 f.close();QFile f1(./sms);/QStringList定義的對(duì)象sl中的內(nèi)容寫到文件中 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.心得體會(huì) 通過(guò)此次實(shí)驗(yàn)設(shè)計(jì),感覺(jué)自己學(xué)的知識(shí)不夠扎實(shí),感覺(jué)是眼高手低。 在QT編

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論