You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
# 学生信息管理系统
|
|
|
|
|
|
|
|
|
|
|
|
一个基于Qt框架开发的学生信息管理系统,提供班级和学生信息的管理、查询、导入导出等功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
|
|
|
|
|
|
### 班级管理
|
|
|
|
|
|
- ✅ 新增班级 - 创建新的班级
|
|
|
|
|
|
- ✅ 删除班级 - 删除指定班级及其学生信息
|
|
|
|
|
|
- ✅ 重命名班级 - 修改班级名称
|
|
|
|
|
|
- ✅ 班级树形展示 - 直观的班级树状结构
|
|
|
|
|
|
|
|
|
|
|
|
### 学生管理
|
|
|
|
|
|
- ✅ 添加学生 - 新增学生信息到班级中
|
|
|
|
|
|
- ✅ 删除学生 - 移除指定学生记录
|
|
|
|
|
|
- ✅ 编辑学生 - 修改学生信息
|
|
|
|
|
|
- ✅ 搜索学生 - 快速查找学生信息
|
|
|
|
|
|
- ✅ 分页显示 - 支持上一页/下一页操作
|
|
|
|
|
|
|
|
|
|
|
|
### 学生信息字段
|
|
|
|
|
|
- 姓名
|
|
|
|
|
|
- 性别
|
|
|
|
|
|
- 年龄
|
|
|
|
|
|
- 学号
|
|
|
|
|
|
- 电话
|
|
|
|
|
|
|
|
|
|
|
|
### 文件操作
|
|
|
|
|
|
- ✅ 导入数据 - 从文件导入学生信息
|
|
|
|
|
|
- ✅ 保存数据 - 导出学生信息到文件
|
|
|
|
|
|
- ✅ 刷新界面 - 重新加载所有数据
|
|
|
|
|
|
|
|
|
|
|
|
## 系统要求
|
|
|
|
|
|
|
|
|
|
|
|
- Qt 5.0 或更高版本
|
|
|
|
|
|
- C++11 标准或更高版本
|
|
|
|
|
|
- 支持的操作系统:Windows、Linux、macOS
|
|
|
|
|
|
|
|
|
|
|
|
## 编译和运行
|
|
|
|
|
|
|
|
|
|
|
|
### 使用Qt Creator
|
|
|
|
|
|
1. 用Qt Creator打开 `StudentManager.pro` 项目文件
|
|
|
|
|
|
2. 选择编译套件(Kit)
|
|
|
|
|
|
3. 点击"构建"或使用快捷键 `Ctrl+B`
|
|
|
|
|
|
4. 运行程序或按 `Ctrl+R`
|
|
|
|
|
|
|
|
|
|
|
|
### 使用命令行编译
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 使用 qmake
|
|
|
|
|
|
qmake StudentManager.pro
|
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
|
|
# 运行程序
|
|
|
|
|
|
./StudentManager
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
StudentManager/
|
|
|
|
|
|
├── main.cpp # 应用程序入口
|
|
|
|
|
|
├── mainwindow.h # 主窗口头文件
|
|
|
|
|
|
├── mainwindow.cpp # 主窗口实现文件
|
|
|
|
|
|
├── StudentManager.pro # Qt项目配置文件
|
|
|
|
|
|
├── StudentManager.pro.user # 用户配置文件(本地)
|
|
|
|
|
|
├── favicon.ico # 应用程序图标
|
|
|
|
|
|
└── README.md # 项目说明文档
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用说明
|
|
|
|
|
|
|
|
|
|
|
|
### 基本操作流程
|
|
|
|
|
|
|
|
|
|
|
|
1. **启动应用程序** - 程序加载后显示主窗口
|
|
|
|
|
|
2. **创建班级** - 点击"编辑"菜单,选择"新增班级"
|
|
|
|
|
|
3. **管理学生** - 选择班级后可添加、编辑、删除学生信息
|
|
|
|
|
|
4. **查询学生** - 使用搜索功能快速定位学生
|
|
|
|
|
|
5. **导入导出** - 使用"文件"菜单进行数据导入导出
|
|
|
|
|
|
6. **保存数据** - 修改完成后点击"保存"保留更改
|
|
|
|
|
|
|
|
|
|
|
|
### 用户界面
|
|
|
|
|
|
|
|
|
|
|
|
- **左侧面板**:班级树状结构展示
|
|
|
|
|
|
- **中间面板**:选中班级的学生信息表格
|
|
|
|
|
|
- **工具栏**:快速访问常用功能
|
|
|
|
|
|
- **菜单栏**:分类管理各类操作功能
|
|
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
|
|
|
|
|
- **框架**:Qt Framework
|
|
|
|
|
|
- **语言**:C++
|
|
|
|
|
|
- **平台**:跨平台桌面应用
|
|
|
|
|
|
|
|
|
|
|
|
## 主要类和函数
|
|
|
|
|
|
|
|
|
|
|
|
### MainWindow 类
|
|
|
|
|
|
主窗口类,包含所有UI组件和业务逻辑。
|
|
|
|
|
|
|
|
|
|
|
|
**主要方法:**
|
|
|
|
|
|
- `addClass()` - 添加新班级
|
|
|
|
|
|
- `deleteClass()` - 删除班级
|
|
|
|
|
|
- `renameClass()` - 重命名班级
|
|
|
|
|
|
- `addStudent()` - 添加学生
|
|
|
|
|
|
- `deleteStudent()` - 删除学生
|
|
|
|
|
|
- `updateStudent()` - 更新学生信息
|
|
|
|
|
|
- `searchStudent()` - 搜索学生
|
|
|
|
|
|
- `importData()` - 导入数据
|
|
|
|
|
|
- `saveData()` - 保存数据
|
|
|
|
|
|
- `prevPage()` / `nextPage()` - 分页浏览
|
|
|
|
|
|
|
|
|
|
|
|
### Student 结构体
|
|
|
|
|
|
学生信息数据结构:
|
|
|
|
|
|
```cpp
|
|
|
|
|
|
struct Student {
|
|
|
|
|
|
QString name; // 姓名
|
|
|
|
|
|
QString gender; // 性别
|
|
|
|
|
|
int age; // 年龄
|
|
|
|
|
|
QString id; // 学号
|
|
|
|
|
|
QString phone; // 电话
|
|
|
|
|
|
};
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 后续改进方向
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] 数据库集成(SQLite/MySQL)
|
|
|
|
|
|
- [ ] 高级搜索和过滤功能
|
|
|
|
|
|
- [ ] 数据导出为Excel/PDF格式
|
|
|
|
|
|
- [ ] 学生成绩管理模块
|
|
|
|
|
|
- [ ] 系统用户登录和权限管理
|
|
|
|
|
|
- [ ] 数据备份和恢复功能
|
|
|
|
|
|
- [ ] 导入导出的数据验证和错误处理
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
本项目为学习项目,可自由使用和修改。
|
|
|
|
|
|
|
|
|
|
|
|
## 联系方式
|
|
|
|
|
|
|
|
|
|
|
|
如有问题或建议,欢迎提出反馈。
|