freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的教務(wù)管理系統(tǒng)的實(shí)現(xiàn)本科論文(參考版)

2025-06-30 18:41本頁(yè)面
  

【正文】 }這樣就完成了管理員的大部分操作,還有一些操作是與學(xué)生或者是教師所共有的,那部分功能將在學(xué)生模塊與。 } else thisusermodelsubmitAll()。 //獲取選中的行 thisusermodelremoveRow(curRow)。 }void Reg_Widget::on_conadd_btm_clicked(){ thisusermodelsubmitAll()。 int rowNum = thisusermodelrowCount()。 thisusermodelselect()。 uimanageruser_tableViewsetModel(thisusermodel)。}void Reg_Widget::on_queryAll_btm_clicked(){ thisusermodel=(user)。 thisusermodelselect()。 thisusermodel=(user)。 QString arg=uiqueryuser_lineedittext()。并且這部分操作大多要設(shè)計(jì)到數(shù)據(jù)庫(kù)的操作,所有在這個(gè)類的操作中也新建了一個(gè)數(shù)據(jù)庫(kù)類的對(duì)象,通過這個(gè)對(duì)象來調(diào)用數(shù)據(jù)庫(kù)類中的函數(shù)。void MainFace::on_managuser_btm_clicked(){ thisregwidgetshow()。 uistudent_record_manager_widgetsetCurrentIndex(3)。 uistudent_listwidgetsetCurrentRow(3)。第三個(gè)則是界面中功能按鈕的連接,在按鈕上注明不同的功能,然后讓不同的功能對(duì)于不同的槽函數(shù),這樣就可以在槽函數(shù)中實(shí)現(xiàn)對(duì)應(yīng)的功能。connect(uiquery_classnumbtm,SIGNAL(clicked()),this,SLOT(on_query_classnumbtm_clicked())); 這是三個(gè)注冊(cè)槽函數(shù)的代碼,第一個(gè)是將界面中左邊的QToolBox與界面右邊的QstackWidget相連接,這樣的設(shè)計(jì)可以使界面按照既定的方案進(jìn)行跳轉(zhuǎn)。connect(uileft_toolbox,SIGNAL(currentChanged(int)), uistackedWidget,SLOT(setCurrentIndex(int)))。界面背景圖片的填充也需要設(shè)置填充屬性為真,否則無法填充。 QPixmap pixmap(D:/)。初始化界面的時(shí)候在界面的上半部分會(huì)有圖片背景的顯示,代碼實(shí)現(xiàn)如下:uilabel_widgetsetAutoFillBackground(true)。 uisystem_manager_stacksetCurrentIndex(0)。初始化代碼如下:uileft_toolboxsetCurrentIndex(0)。} 這個(gè)函數(shù)查詢用戶在數(shù)據(jù)庫(kù)中的信息,程序根據(jù)函數(shù)返回結(jié)果QsqlTableModel的對(duì)象來設(shè)置程序界面中的Qtableview,使得在這個(gè)視圖中顯示用戶登錄信息,并且在這個(gè)函數(shù)中使用了過濾器,根據(jù)傳入的參數(shù)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行過濾,得到自己想要的數(shù)據(jù),這些操作都得益于Qt提供的封裝函數(shù),調(diào)用現(xiàn)有的函數(shù)來實(shí)現(xiàn)自己程序的目的,這也是面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)之一。 //uitableViewsetModel(model)。 modelselect()。%239。modelsetEditStrategy(QSqlTableModel::OnManualSubmit)。//查詢用戶信息QSqlTableModel * sql_reg::queryuserinfo(int id,QString type){ QSqlTableModel * model = new QSqlTableModel。 return true。 return false。 qDebug()()。 if (!query. next()) { qDebug() none 。%339。%139。 ). arg( type ).arg(id).arg(passwd))。 and id= %2 and passwd= 39。 ( QString( select * from user where type = 39。 (ok,10)。對(duì)于要執(zhí)行數(shù)據(jù)操作的程序來說,所有的操作都是基于數(shù)據(jù)庫(kù)的連接成功,所以將數(shù)據(jù)庫(kù)的連接部分單獨(dú)分為一個(gè)函數(shù),并且在這個(gè)函數(shù)中添加了一些輸出語(yǔ)句;如果出錯(cuò),()來提供出錯(cuò)的信息,并且可以通過使用qdebug來定外錯(cuò)誤的位置,這樣可以給程序員的檢錯(cuò)提供幫助,使程序員快速的發(fā)現(xiàn)錯(cuò)誤以至解決錯(cuò)誤。 return false。 ()。 return true。 ()。 數(shù)據(jù)庫(kù)的操作上面的代碼中涉及到了數(shù)據(jù)庫(kù)的操作,對(duì)于數(shù)據(jù)庫(kù)的操作,可以新建一個(gè)封裝數(shù)據(jù)庫(kù)操作的類,在這個(gè)類中完成對(duì)數(shù)據(jù)庫(kù)的交互部分。 在登錄界面中需要輸入用戶名以及密碼,出于安全的考慮,在輸入用戶名的文本框中設(shè)置了輸入限制,根據(jù)正則表達(dá)式的規(guī)范,在這個(gè)文本框中將無法輸入數(shù)字之外的其它字符,并且有字?jǐn)?shù)限制,此處根據(jù)我的實(shí)際情況設(shè)置成了最多十位的輸入。uiname_LineTxtsetValidator(pRegExpValidator)。QRegExp regExp([09]{1,10})。系統(tǒng)先獲得在登錄界面中Qlineedit中的數(shù)據(jù),然后將這些用戶信息跟數(shù)據(jù)庫(kù)中存放的用戶信息相比對(duì),并且使用if嵌套來判斷不同的情況。 mainfaceshow()。 thismainfaceuidelscore_btmsetEnabled(true)。 thismainfaceuiupdscore_btmsetEnabled(true)。 thismainfaceuiqueryAllRecordsetEnabled(true)。 }else if((教師)==0) { thismainfaceuileft_widgetsetEnabled(false)。 thismainfaceuimanaguser_btmsetEnabled(true)。 thismainfaceuiaddscore_btm_2setEnabled(true)。 thismainfaceuiqueryAllScoresetEnabled(true)。 thismainfaceuiqueryAllClasssetEnabled(true)。 mainfaceshow()。 thismainfaceuidelscore_btmsetEnabled(false)。 thismainfaceuiupdscore_btmsetEnabled(false)。 thismainfaceuiqueryAllRecordsetEnabled(false)。 if((學(xué)生)==0) { thismainfaceuileft_widgetsetEnabled(false)。 thismainfaceuiusertablesetModel(model)。 int id=thisloginwidgetuiname_LineTxttext().toInt()。 else { ()。 } if(thisloginwidgetuitype_boboxcurrentIndex()==0 ||thisloginwidgetuiname_LineTxttext().isEmpty() ||thisloginwidgetuipasswd_LineTxttext().isEmpty()) { QMessageBox::warning(this,fail,登錄信息有誤)。 QString passwd=thisloginwidgetuipasswd_LineTxttext()。void RegAction::log_fun(){ QString type=thisloginwidgetuitype_boboxcurrentText()。圖41 登錄流程圖如圖41所示的流程圖所示,登錄按鈕的槽函數(shù)log_fun()負(fù)責(zé)采集登錄窗口的數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行判斷,對(duì)于不正確的登錄信息予以拒絕訪問。在這個(gè)教務(wù)系統(tǒng)中,有大量的點(diǎn)擊信號(hào)與槽函數(shù),對(duì)于發(fā)出這些信號(hào)的控件都有自己獨(dú)特的名字,然后根據(jù)它們的名字進(jìn)行函數(shù)的命名,并且在編程中信號(hào)與槽函數(shù)的連接都有相應(yīng)的注釋。connect(thisloginwidgetuilog_btm,SIGNAL(clicked()),this,SLOT(log_fun()))。信號(hào)與槽函數(shù):connect(uiquit_btm,SIGNAL(clicked()),this,SLOT(close()))。對(duì)setWindowFlags()函數(shù)參數(shù)的設(shè)置來控制界面中大小的設(shè)置,屏蔽還原按鈕,這樣的設(shè)計(jì)對(duì)于只提供登錄的窗口來說是比較好的,其次可以通過控制QPalette的屬性來設(shè)置窗口的背景圖片,但前提是界面的自動(dòng)填充得設(shè)置為真,否則設(shè)置不會(huì)生效。(QPalette::Window, QBrush(pixmap))。QPalette palette。thissetWindowFlags(Qt::Dialog | Qt::WindowMinimizeButtonHint)。系統(tǒng)在運(yùn)行時(shí)會(huì)有系統(tǒng)默認(rèn)的字體,如果需要可以在這個(gè)函數(shù)中進(jìn)行設(shè)置,這樣可以使系統(tǒng)看起來更加美觀;此外,系統(tǒng)在運(yùn)行時(shí)由于語(yǔ)言環(huán)境的不同或者文化的差異,這將導(dǎo)致系統(tǒng)的字體在顯示時(shí)與設(shè)計(jì)的初衷不一樣,所以在這個(gè)主函數(shù)中進(jìn)行設(shè)置,這樣就不會(huì)出現(xiàn)顯示亂碼的情況。}這是系統(tǒng)的主函數(shù),系統(tǒng)所有的運(yùn)行都是從這個(gè)函數(shù)開始,所以在這個(gè)函數(shù)中的設(shè)置都是全局的,將會(huì)影響到整個(gè)系統(tǒng)的設(shè)置。 //();否則會(huì)生成一個(gè)空白的界面。 QTextCodec::setCodecForTr(codec)。 QTextCodec::setCodecForLocale(codec)。 (font)。 4 詳細(xì)設(shè)計(jì) 系統(tǒng)的主程序int main(int argc, char *argv[]){ QApplication a(argc, argv)。 本系統(tǒng)用戶管理保證了只有授權(quán)的用戶才能進(jìn)入系統(tǒng)進(jìn)行數(shù)據(jù)操作,而且對(duì)一些重要數(shù)據(jù),系統(tǒng)設(shè)置為只有更高權(quán)限的人員方可讀取或是操作。即保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)不被非法用戶獲取,不因?yàn)椴僮鲉T失誤或者軟硬件故障導(dǎo)致數(shù)據(jù)錯(cuò)誤。但有可能占用更多的數(shù)據(jù)存儲(chǔ)空間,權(quán)衡措施由用戶來決定。輸入數(shù)據(jù)格式錯(cuò)誤禁止用戶輸入不允許為空的輸入框輸入空字符彈回原輸入頁(yè)面的輸入處 在表33中描述了一些系統(tǒng)中需要處理的一些出錯(cuò)信息,系統(tǒng)中有各種各樣的不同錯(cuò)誤信息,系統(tǒng)需要有相應(yīng)的錯(cuò)誤處理方法,如果用戶在使用系統(tǒng)的時(shí)候出現(xiàn)了錯(cuò)誤,系統(tǒng)可以提供相應(yīng)的錯(cuò)誤提示或者系統(tǒng)自動(dòng)的進(jìn)行錯(cuò)誤處理。 系統(tǒng)數(shù)據(jù)出錯(cuò)處理設(shè)計(jì) 系統(tǒng)的出錯(cuò)信息以及處理方法 如表33所示,系統(tǒng)的出錯(cuò)信息以及處理方法一覽表。所以,然后在這個(gè)數(shù)據(jù)庫(kù)中加入這五張表,信息從這些數(shù)據(jù)表中取出,然后經(jīng)過程序使用再寫入數(shù)據(jù)庫(kù)中。 對(duì)于這些數(shù)據(jù)庫(kù)表中的屬性,根據(jù)它們的實(shí)際情況在實(shí)現(xiàn)數(shù)據(jù)庫(kù)表的時(shí)候?qū)崿F(xiàn)每個(gè)表的屬性,并且在表中設(shè)置它們接收數(shù)據(jù)的條件,使存入數(shù)據(jù)庫(kù)中的數(shù)據(jù)更加合理化。圖39 獎(jiǎng)罰信息的實(shí)體圖 如圖39所示是懲罰信息的實(shí)體圖,實(shí)體獎(jiǎng)懲信息的屬性有學(xué)號(hào)id、獎(jiǎng)懲類型type、獎(jiǎng)懲內(nèi)容content。圖37 教師信息實(shí)體圖 如圖37所示是教師的實(shí)體圖,實(shí)體教師的屬性有職工號(hào)id、姓名teachname、性別teachsex、年齡teachage、職稱teachjob以及聯(lián)系電話teachtelnum。圖35 用戶實(shí)體圖 如圖35所示是用戶的實(shí)體圖,實(shí)體用戶的屬性有用戶類型type、用戶名id以及密碼passwd。實(shí)體模型中包含“實(shí)體”,“聯(lián)系”和“屬性”。這種方法用實(shí)體圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1