欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Qt之酒店管理系统

程序员文章站 2022-06-07 09:10:38
...

最近几天,学校安排课设,选到的题目是酒店管理系统,刚拿到手感觉挺简单的,不就简单的来人了入住,实现登录、修改密码就行了吗?可是静下心来一分析,不是自己想想的那么简单,真的是有点复杂,迫于时间关系,只是实现了一小部分的功能,等忙完这阵子,在

最近几天,学校安排课设,选到的题目是酒店管理系统,刚拿到手感觉挺简单的,不就简单的来人了入住,实现登录、修改密码就行了吗?可是静下心来一分析,不是自己想想的那么简单,真的是有点复杂,迫于时间关系,只是实现了一小部分的功能,等忙完这阵子,在补充其他功能。先晒下系统界面吧。

1、登陆界面(管理员和顾客)

Qt之酒店管理系统

可以实现管理员和客户分别登陆。另外还增加了注册功能,提供给没有账号的客户使用,用于订房使用。注册界面图下图所示:

Qt之酒店管理系统

2、顾客登陆系统。

由于时间仓促,顾客界面只是简单的查看当前的房间状态,自己可以预定那些房间,选定房间后可以预定。如下图所示:

Qt之酒店管理系统

客户可以查看当前房间状态,我默认提供的房间都是空房,已经被预定的房间没有显示出来。

Qt之酒店管理系统

另一个功能就是可以修改自己当前注册的信息。

Qt之酒店管理系统

毕竟是课设,再说功能也太单一了,就显示了几张图片,百度当的。

Qt之酒店管理系统

客户端就是简单的功能,好多都没有时间来得及实现,等寒假好好的做一做。

3、管理员界面

先看下主界面吧。不是很好,为了避免空白,我放了张图片,还是不理想

Qt之酒店管理系统

先看下业务管理-----前台中心吧

Qt之酒店管理系统

可以实现按条件进行查询,查看房间状态,房间楼层分布,是否是单人间、双人间、豪华套间等等。

Qt之酒店管理系统

其实说到底,这次课设就是简单的数据库的联系,没有什么太复杂的东西。对数据库的操作无非就是简单的增、删、改、查,一直重复操作。只要数据库会,基本没有什么问题,界面不重要,说起界面,也不难,可能作为初学者而言是有点难,嘿嘿,我也算是一个初学者,学习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

Qt之酒店管理系统
利用dos窗口进行备份,默认会在当前的 bin目录下。我在程序中可以选定自己备份的目录:

Qt之酒店管理系统

加了个进度条,显示当前备份的过程。

好了,就这些了,功能没有多少,不过,自己也忙了有一阵子了,总算是有一定的成果和收获了。