首页 > 代码库 > 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目录下。我在程序中可以选定自己备份的目录:

技术分享

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

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

Qt之酒店管理系统