吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2035|回复: 9
收起左侧

[Python 转载] 语言培训班管理系统源码

[复制链接]
zxcvb1234363 发表于 2025-9-20 14:29
本帖最后由 zxcvb1234363 于 2025-9-20 15:12 编辑

python_e1JxTE45VJ.png

用AI写的,有些BUG。由于没有参与实际应用场景,所以写的可能不实用。## 功能特点

### 🎯 核心功能
- **学员管理**: 学员信息录入、课时跟踪、状态管理
- **课程管理**: 课程安排、上课记录、课时消耗
- **老师管理**: 老师信息、授课统计、课时费计算
- **缴费管理**: 缴费记录、课时购买、财务统计
- **报表统计**: 学员统计、老师统计、财务统计

### 📊 业务规则
- 学员购买课时后,系统自动计算剩余课时
- 每次上课消耗课时,实时更新剩余课时
- 老师授课按课时统计,支持课时费计算
- 支持英语、日语、韩语等多种语言培训
- 课时预警:剩余课时低于设定值时提醒

### 🔧 技术特性
- **桌面应用**: 使用Python Tkinter + ttk构建现代化UI
- **数据存储**: 本地JSON文件存储,无需网络连接
- **中文界面**: 完整的简体中文界面支持
- **模块化设计**: 清晰的代码结构,易于维护和扩展
- **异常处理**: 完善的错误处理和日志记录
- **数据备份**: 自动备份机制,保障数据安全

部分源码:

"""
语言培训班管理系统 - 主程序
基于Python Tkinter + ttk构建的现代化桌面应用
"""
import tkinter as tk
from tkinter import ttk, messagebox
import sys
import os
from pathlib import Path

添加当前目录到Python路径

current_dir = Path(file).parent
sys.path.insert(0, str(current_dir))

from config import *
from ui.main_window import MainWindow
from utils.logger import LoggerManager
from data.data_manager import DataManager
from data.backup_manager import BackupManager
from course_module import CourseManager
from teacher_module import TeacherManager

class TrainingManagementSystem:
"""培训班管理系统主类"""

def __init__(self):
    """初始化系统"""
    self.root = None
    self.logger = None
    self.data_manager = None
    self.teacher_manager = None
    self.backup_manager = None
    self.main_window = None

def setup_logging(self):
    """设置日志系统"""
    try:
        self.logger_manager = LoggerManager()
        self.logger = self.logger_manager.get_logger(__name__)
        self.logger.info(f"{APP_NAME} v{APP_VERSION} 启动")
    except Exception as e:
        messagebox.showerror("错误", f"日志系统初始化失败: {e}")
        return False
    return True

def setup_data_management(self):
    """设置数据管理"""
    try:
        self.data_manager = DataManager(DATA_DIR, self.logger)
        self.teacher_manager = TeacherManager(DATA_DIR, self.logger)
        self.logger.info("数据管理系统初始化成功")
    except Exception as e:
        self.logger.error(f"数据管理系统初始化失败: {e}")
        messagebox.showerror("错误", f"数据管理系统初始化失败: {e}")
        return False
    return True

def setup_backup_system(self):
    """设置备份系统"""
    try:
        self.backup_manager = BackupManager(DATA_DIR, BACKUP_DIR, self.logger)

        # 启动自动备份
        if AUTO_BACKUP_ENABLED:
            self.backup_manager.start_auto_backup(BACKUP_INTERVAL_HOURS)
            self.logger.info(f"自动备份已启动,间隔: {BACKUP_INTERVAL_HOURS}小时")

        self.logger.info("备份系统初始化成功")
    except Exception as e:
        self.logger.error(f"备份系统初始化失败: {e}")
        # 备份系统失败不影响主程序运行
        messagebox.showwarning("警告", f"备份系统初始化失败: {e}")

def create_main_window(self):
    """创建主窗口"""
    try:
        self.root = tk.Tk()
        self.root.title(f"{APP_NAME} v{APP_VERSION}")
        self.root.geometry(f"{APP_WIDTH}x{APP_HEIGHT}")
        self.root.configure(bg=BACKGROUND_COLOR)
        self.root.minsize(1024, 600)

        # 设置窗口图标(如果有的话)
        icon_path = current_dir / "assets" / "icon.ico"
        if icon_path.exists():
            try:
                self.root.iconbitmap(str(icon_path))
            except Exception:
                pass  # 图标加载失败不影响程序运行

        # 创建主界面
        self.main_window = MainWindow(self.root, self.data_manager, self.logger, self.backup_manager, self.teacher_manager)
        self.logger.info("主界面创建成功")

    except Exception as e:
        self.logger.error(f"主窗口创建失败: {e}")
        messagebox.showerror("错误", f"主窗口创建失败: {e}")
        return False
    return True

def run(self):
    """运行应用程序"""
    try:
        # 初始化日志系统
        if not self.logger:
            self.setup_logging()
        self.logger.info("应用程序启动")

        # 初始化数据管理系统
        if not self.data_manager or not self.teacher_manager:
            self.logger.debug("开始初始化数据管理系统")
            self.setup_data_management()
            self.logger.info("数据管理系统初始化完成")

        # 初始化备份系统
        if not self.backup_manager:
            self.logger.debug("开始初始化备份系统")
            self.setup_backup_system()
            self.logger.info("备份系统初始化完成")

        # 创建主窗口
        self.logger.debug("开始创建主界面")
        self.root = tk.Tk()
        self.root.title(f"{APP_NAME} v{APP_VERSION}")
        self.root.geometry(f"{APP_WIDTH}x{APP_HEIGHT}")
        self.root.configure(bg=BACKGROUND_COLOR)
        self.root.minsize(1024, 600)

        # 设置窗口图标(如果有的话)
        icon_path = current_dir / "assets" / "icon.ico"
        if icon_path.exists():
            try:
                self.root.iconbitmap(str(icon_path))
            except Exception:
                pass  # 图标加载失败不影响程序运行

        self.main_window = MainWindow(self.root, self.data_manager, self.logger, self.backup_manager, self.teacher_manager)
        self.logger.info("主界面创建完成")

        # 启动主循环
        self.root.mainloop()

    except Exception as e:
        self.logger.error(f"应用程序运行失败: {e}")
        self.logger.exception("详细的错误信息:")
        messagebox.showerror("错误", f"应用程序运行失败: {e}")
        raise

def cleanup(self):
    """清理资源"""
    if self.backup_manager:
        self.backup_manager.stop_auto_backup()
    if self.logger:
        self.logger.info("应用程序关闭")

def main():
"""主函数"""
try:

创建应用程序实例

    app = TrainingManagementSystem()

    # 运行应用程序
    app.run()

    # 清理资源
    app.cleanup()

    # 正常退出
    sys.exit(0)

except Exception as e:
    messagebox.showerror("严重错误", f"应用程序无法启动: {e}")
    sys.exit(1)

if name == "main":
main()



链接: https://pan.baidu.com/s/1whYoq02iIiruyeJOt34_2Q?pwd=52pj 提取码: 52pj

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xbb 发表于 2025-9-20 19:19
呃,楼主代码没有贴好吧。。。
woaipojie23456 发表于 2025-9-20 15:59
slkj 发表于 2025-9-20 15:56
流浪情人 发表于 2025-9-20 16:18
要是自己没有基础  在怎么借助AI也没有用啊
skzhaixing 发表于 2025-9-20 22:15
厉害了我的大佬  
一鸣惊人 发表于 2025-9-22 11:02
厉害了,能区分不同课程购买、消课,支持excel导入导出就更好了
onetwo888 发表于 2025-9-22 11:42
这个看着还可以,感谢大佬分享!!!
clarkdavid 发表于 2025-9-23 19:42
应该做成前后端的web程序
edwardseo 发表于 2026-5-30 18:47
有没有视频教程,对于 新手看视频后,能在自己电脑 运行起来的那种教程。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-7-15 01:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表