学生管理系统

需求分析

在如今的高校日常管理当中,当前学生规模大,课程门类多,校区分散等实际情况,学生管理具有非常大的实际应用意义。教育和管理的要求,而计算机具有运算速度快,处理能力强等特点。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。

流程设计

具体实现

具体实现步骤分为7步,分别为登录主页面设计、管理员主页面设计、老师登录主页面设计、学生登录主页面设计、增加修改学生页面设计、删除学生信息页面设计。

数据库连接

1、首先需要考虑的是数据库的选择,因为该学生管理系统涉及的数据不是很多,也为了方便,我就选择了Qt自带的微型数据库SqlLite,如果想用MySql、Sql Server基本原理相差不大,百度搜一下即可。
2、SqlLite虽是Qt自带,不过要查看创建的表单还是需要一个图形显示界面来查看,此类软件有多种,我选择的是SQLite Expert,此软件查看数据库表单很好用,如图我创建了三张表单,一个学生、一个老师、一个管理员的账户
在这里插入图片描述
3、在Qt的项目自述文件(即.pro文件)中添加代码:QT += core gui sql
在这里插入图片描述

4、`建立、连接数据库,代码如下:

 //建、连接数据库
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("学生名单.db");
    db.open();
    if(db.open())   qDebug()<<"Open Datebase Sucess!!!";
    else            qDebug()<<"Open Datebase Fail!!!";
    //建管理员、老师、学生表并插入一些基本数据,后面管理员可在增删里修改数据
    query = new QSqlQuery();
    //query->exec("DROP TABLE 账户");
    query->exec("create table 账户(""工号 INTEGER PRIMARY KEY AUTOINCREMENT,"
                                    "密码 VARCHAR(40) NOT NULL)");
    query->exec("insert into 账户(工号,密码)values('201821091037','201821091037')");
    query->exec("create table 老师(""姓名 VARCHAR(40) NOT NULL,"
                                    "工号 INTEGER PRIMARY KEY AUTOINCREMENT,"
                                    "性别 VARCHAR(40) NOT NULL,"
                                    "年龄 INTEGER NOT NULL,"
                                    "工资 INTEGER NOT NULL,"
                                    "密码 VARCHAR(40) NOT NULL)");
    query->exec("insert or ignore into 老师(姓名,工号,性别,年龄,工资,密码)values('阿贝多','100001001','男','20','5000','123')");
    //query->exec("DROP TABLE 学生");
    query->exec("create table 学生(""姓名 VARCHAR(40) NOT NULL,"
                                    "工号 INTEGER PRIMARY KEY AUTOINCREMENT,"
                                    "性别 VARCHAR(40) NOT NULL,"
                                    "班级 VARCHAR(40) NOT NULL,"
                                    "年龄 INTEGER NOT NULL,"
                                    "数学 INTEGER NOT NULL,"
                                    "语文 INTEGER NOT NULL,"
                                    "总分 INTEGER NOT NULL,"
                                    "密码 VARCHAR(40) NOT NULL)");
    query->exec("insert or ignore into 学生(姓名,工号,性别,班级,年龄,数学,语文,总分,密码)values('钟离','201821091001','男','计科1801','20','80','80','160','123')");
    query->exec("insert or ignore into 学生(姓名,工号,性别,班级,年龄,数学,语文,总分,密码)values('刻晴','201821091002','女','计科1801','16','95','95','190','123')");
    query->exec("insert or ignore into 学生(姓名,工号,性别,班级,年龄,数学,语文,总分,密码)values('甘雨','201821091003','女','计科1801','17','94','94','188','123')");
    query->exec("insert or ignore into 学生(姓名,工号,性别,班级,年龄,数学,语文,总分,密码)values('七七','201821091004','女','计科1801','15','85','85','170','123')");
    query->exec("insert or ignore into 学生(姓名,工号,性别,班级,年龄,数学,语文,总分,密码)values('凝光','201821091005','女','计科1801','20','95','95','190','123')");
    user = studentInit();
}

5、这是我在表单创建的时候家的几个初始数据,后面可以增删改查

登录主页面设计

1、直接在ui文件中拖拽设计即可,如图所示,可以通过样式表来改字体之类的,使界面美观
在这里插入图片描述
2、使用ui下各种QPushButton、QLineEdit、QLabel等构造
3、调用数据库中的表来判断账号密码是否与数据库中一致,一致则登录界面,不一致则提示错误
4、验证成功则进入开始选择的管理员、老师、或学生界面
5、登录界面还有一个注册按钮,点击则进入管理员注册界面(学生和老师在此系统中由管理员插入、删除、或修改)
6、成品图片如下:
在这里插入图片描述
7、

管理员主页面设计

1、第一是设置一张tableView,将数据库中的各种信息映射上来。
2、搞一个查询功能,通过姓名在数据库的表中筛选,将筛选出来的数据映射到tableView中 。
3、升序、降序查询功能也是一样的道理,不过在筛选的时候多了一步排序功能
4、插入学生信息功能就是点击改按钮,进入插入修改界面,在插入修改界面可以插入修改相关学生信息。
5、各种平均分查询功能,是在映射出来之前进行平均分的计算,再将平均分映射到lineEdit上。
6、显示老师信息和显示学生信息功能差不多,不过选择的表变成了老师的表
7、管理员界面如下
在这里插入图片描述

学生主页面设计

在现实生活中,学生在只能在系统中查看自己的相关信息,故我只做了将登录学生的信息映射到tableView上,学生界面如下,每个人只能看见自己的信息.
在这里插入图片描述

老师主页面设计

老师界面和学生界面设计基本一致,不过所查询的表不一样,老师界面也是根据登录主界面的账号在老师数据库里查老师,然后将其信息显示在tableView上,老师界面如下.
在这里插入图片描述

添加修改界面设计

1、通过两个radioButton,一个是修改信息,一个是添加信息,我使用了GroupBox将他们框起来,二者只能选其一,且比须选其一,否则错误提示。
2、我使用了ComBox来选择班级,SpinBox来设置年龄与语文数学成绩,其他Label显示姓名、工号之类,LineEdit来暂时存放要插入工号、姓名,还设置了返回按钮,返回到管理员界面。
在这里插入图片描述

删除界面设计

删除界面我是通过姓名在数据库的表中来查询到那个学生的信息,然后从数据库中删除改学生的信息,同时还设置了返回按钮,返回到管理员界面。
在这里插入图片描述

具体实现代码(GitHub):https://github.com/JiYueBai/Qt

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
qt学生管理系统中添加用户权限功能,可以通过以下步骤实现: 1.定义用户权限:首先,需要明确需要哪些用户权限,例如可以分为管理员、教师、学生等角色。每个角色具有不同的用户权限,比如管理员可以对系统进行配置和管理,教师可以添加学生信息,学生可以查看自己的信息等。 2.设置用户权限:在qt学生管理系统中可以新建一个用户表,此表用来保存用户信息。在用户表中添加一列用于存储用户权限,可以设置为0、1、2等数字来表示不同的权限级别,也可以设置为相应的角色名称。 3.验证用户权限:实现用户权限功能需要在程序中加入验证用户权限的代码。在登录系统时,通过验证用户权限来判断用户的角色和权限。如果是管理员,则可以进入系统进行配置和管理,如果是教师,则只能添加和修改学生信息,如果是学生,则只能查看自己的信息。 4.修改用户权限:在系统运行期间,可能需要更改用户的权限。在qt学生管理系统中,可以新建一个用户管理界面,管理员可以在此界面中修改用户权限。用户可以通过自己的权限来判断是否具有修改其他用户权限的权限,避免权限泄露。 通过以上步骤,就可以在qt学生管理系统中添加用户权限功能了。用户权限功能能够保证系统的安全性和稳定性,也能够有效地管理用户权限,提高使用效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值