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;ilabelBackInfo->setText(tr("正在备份……")); for(int j = 0;jprogressBar->setValue(i); } ui->labelBackInfo->setText(tr("备份完成")); ui->pbnOk->setToolTip(tr("已经【本文来自鸿网互联 (http://www.68idc.cn)】备份完成")); } }程序里面调用的就是mysqldump来实现备份的。当然自己也可以使用命令来备份。打开运行,输入cmd,输入打开cmd进入到数据库的bin目录,执行命令:mysqldump -uroot -p 备份的数据库名字 >新名字.sql
利用dos窗口进行备份,默认会在当前的 bin目录下。我在程序中可以选定自己备份的目录:
加了个进度条,显示当前备份的过程。
好了,就这些了,功能没有多少,不过,自己也忙了有一阵子了,总算是有一定的成果和收获了。
推荐阅读
-
Django之图书管理系统
-
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理三 (二十一)
-
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之五(三十一)
-
江湖微装修O2O系统功能介绍之项目管理系统
-
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之八(三十四)
-
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理五 (二十三)
-
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)
-
abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)
-
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)
-
ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理