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.

139 lines
3.5 KiB
Markdown

4 weeks ago
# 学生信息管理系统
一个基于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格式
- [ ] 学生成绩管理模块
- [ ] 系统用户登录和权限管理
- [ ] 数据备份和恢复功能
- [ ] 导入导出的数据验证和错误处理
## 许可证
本项目为学习项目,可自由使用和修改。
## 联系方式
如有问题或建议,欢迎提出反馈。