Qt之酒店管理系統,qt酒店管理系統
最近幾天,學校安排課設,選到的題目是酒店管理系統,剛拿到手感覺挺簡單的,不就簡單的來人了入住,實現登入、修改密碼就行了嗎?可是靜下心來一分析,不是自己想想的那麼簡單,真的是有點複雜,迫於時間關係,只是實現了一小部分的功能,等忙完這陣子,在補充其他功能。先曬下系統介面吧。
1、登陸介面(管理員和顧客)
可以實現管理員和客戶分別登陸。另外還增加了註冊功能,提供給沒有帳號的客戶使用,用於訂房使用。註冊介面圖所示:
2、顧客登陸系統。
由於時間倉促,顧客介面只是簡單的查看當前的房間狀態,自己可以預定那些房間,選定房間後可以預定。如所示:
客戶可以查看當前房間狀態,我預設提供的房間都是空房,已經被預定的房間沒有顯示出來。
另一個功能就是可以修改自己當前註冊的資訊。
畢竟是課設,再說功能也太單一了,就顯示了幾張圖片,百度當的。
用戶端就是簡單的功能,好多都沒有時間來得及實現,等寒假好好的做一做。
3、管理員介面
先看下主介面吧。不是很好,為了避免空白,我放了張圖片,還是不理想
先看下業務管理-----前台中心吧
可以實現按條件進行查詢,查看房間狀態,房間樓層分布,是否是單人間、雙人間、豪華套間等等。
其實說到底,這次課設就是簡單的資料庫的聯絡,沒有什麼太複雜的東西。對資料庫的操作無非就是簡單的增、刪、改、查,一直重複操作。只要資料庫會,基本沒有什麼問題,介面不重要,說起介面,也不難,可能作為初學者而言是有點難,嘿嘿,我也算是一個初學者,學習Qt不到幾個月,想起自己當時也想把介面做的美觀一些,於是在網上各種百度,找啊找,不經意間找到一片部落格是這樣說的,使用樣式表可以很方便快捷 設定介面的皮膚樣式,自己就看了下他的文章,模仿他的寫啊寫。再次感謝 liudianwu 。酒店管理系統中使用了樣式表,對按鈕,顯示表格資料控制項、邊框都進行了設定。
一個簡單的樣式表可以這樣寫:
QDialog#LoginDialog,QDialog#RoomPicDialog{
border:1px solid #1B89CA;
border-radius:0px;
}
其他效果可以類似進行設定。要應用自己的樣式表可以這樣寫:
QFile file(QString(":/image/%1.css").arg(StyleName)); file.open(QFile::ReadOnly); QString qss = QLatin1String(file.readAll()); qApp->setStyleSheet(qss); qApp->setPalette(QPalette(QColor("#F0F0F0")));這樣就可以將自己樣式表應用整個系統了。
其他一些功能都比較簡單,就不往出放了。其實還有一個就是資料庫的備份功能,以前都是用的sqllite資料庫,備份很簡單,將自己的資料庫檔案.db進行拷貝就行,這次用的是mysql,不知道怎麼備份,就百度了下,原來,mysql備份用的是mysqldump.其實也不難,也就幾行代碼:
/* *函數功能:備份資料庫*/void BackupDatanaseDialog::on_pbnOk_clicked(){ QString pathname = ui->lineEdit->text(); QString Cmd = QString("mysqldump.exe --add-drop-table -u%1 -p%2 hotel").arg("root","123456"); QString Path = QString("%1").arg(pathname); QProcess *poc=new QProcess; poc->setStandardOutputFile(Path); poc->start(Cmd); for(int i = 0;i<5000;i++) { ui->labelBackInfo->setText(tr("正在備份……")); for(int j = 0;j<2000;j++) { ui->progressBar->setValue(i); } ui->labelBackInfo->setText(tr("備份完成")); ui->pbnOk->setToolTip(tr("已經備份完成")); }} 程式裡面調用的就是mysqldump來實現備份的。當然自己也可以使用命令來備份。開啟運行,輸入cmd,輸入開啟cmd進入到資料庫的bin目錄,執行命令:mysqldump -uroot -p 備份的資料庫名字 >新名字.sql
利用dos視窗進行備份,預設會在當前的 bin目錄下。我在程式中可以選定自己備份的目錄:
加了個進度條,顯示當前備份的過程。
好了,就這些了,功能沒有多少,不過,自己也忙了有一陣子了,總算是有一定的成果和收穫了。