一个用于管理宴席菜品配料和统计食材用量的GUI应用程序。
- 食材管理:添加、编辑、删除食材信息,包括名称、单位、单价
- 菜品管理:创建菜品配方,为每道菜添加所需食材和用量
- 宴席管理:组织宴席菜单,设置每道菜的份数
- 统计分析:根据宴席菜单自动计算所需食材总量和成本
- 数据导出:支持导出Excel格式的统计报表
- Python 3.10+ (推荐 Python 3.10 以确保最佳兼容性)
- tkinter (通常随Python安装)
- pandas
- openpyxl
- cx_Freeze (仅打包时需要)
- 克隆或下载项目文件
- 安装依赖包:
pip install -r requirements.txt- 运行主程序:
python main.py-
食材管理:
- 在"食材管理"选项卡中添加食材
- 填写食材名称、单位(如:斤、公斤、个)和单价
- 可以编辑或删除已有食材
-
菜品管理:
- 在"菜品管理"选项卡中创建菜品
- 为每道菜添加所需的食材和用量
- 保存菜品配方
-
宴席管理:
- 在"宴席管理"选项卡中创建宴席
- 选择菜品并设置每道菜的份数
- 保存宴席菜单
-
统计分析:
- 在"统计分析"选项卡中选择宴席
- 点击"计算食材用量"查看所需食材统计
- 可导出Excel报表
- 文件名:
dish_data.json - 位置: 程序同目录下
- 格式: JSON格式,UTF-8编码
- 自动创建: 首次运行时自动创建空数据文件
{
"version": "1.0",
"last_updated": "2024-12-30 15:05:10",
"ingredients": {
"1": {
"name": "猪肉",
"unit": "斤",
"price": 15.0
}
},
"dishes": {
"1": {
"name": "红烧肉",
"ingredients": {
"1": 2.0
}
}
},
"menus": {
"1": {
"name": "家庭聚餐",
"dishes": {
"1": 3
}
}
}
}- 单文件存储: 所有数据存储在单个JSON文件中,简化数据管理
- 自动保存: 每次操作后自动保存数据到文件
- 数据导出: 支持导出为Excel文件
- 路径显示: 界面显示当前数据文件路径
- 文件位置: 程序同目录下的
dish_data.json - 原子操作: 使用临时文件确保数据写入安全
- 版本管理: 支持数据格式版本升级
- 路径自适应: 自动适配脚本和EXE运行环境
# 安装打包工具
pip install cx_Freeze
# 执行打包
python setup_cxfreeze.py build打包完成后,可执行文件位于 build_cxfreeze/ 目录中。
支持导出Excel文件,包含以下工作表:
- 食材库:所有食材的基本信息
- 菜品配方:每道菜的配料清单
- 宴席菜单:宴席中的菜品和份数
- 添加新食材或编辑现有食材
- 表格显示所有食材信息
- 支持删除不需要的食材
- 左侧显示菜品列表
- 右侧编辑菜品详情和配料
- 可以为每道菜添加多种食材
- 左侧显示宴席列表
- 右侧编辑宴席菜单
- 设置每道菜的份数
- 选择宴席后自动计算食材需求
- 显示每种食材的总用量和成本
- 支持导出详细报表
- 删除食材前请确保没有菜品在使用该食材
- 删除菜品前请确保没有宴席包含该菜品
- 程序会自动保存所有数据变更
- 导出的Excel文件可以进一步编辑和打印
- 数据安全: 定期手动复制
dish_data.json文件作为备份 - 导出报表: 支持导出详细报表
- 文件管理: 保持数据文件与程序在同一目录
- GUI框架:tkinter
- 数据处理:pandas
- Excel导出:openpyxl
- 数据存储:JSON格式
未来可以考虑添加:
- 食材库存管理
- 供应商信息管理
- 成本分析图表
- 数据库支持
- 网络版本