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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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