# 2022年春季学期高程大作业项目___前端基于QT_后端基于Python的记账软件__易记账 **Repository Path**: hou-meng/AccountApp ## Basic Information - **Project Name**: 2022年春季学期高程大作业项目___前端基于QT_后端基于Python的记账软件__易记账 - **Description**: 2022年春季学期高程大作业项目___前端基于QT_后端基于Python的记账软件__易记账 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-03 - **Last Updated**: 2022-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Qt, Cpp, Python ## README # 2022年春季学期高程大作业项目___基于QT的记账软件 #### 介绍 这是一个记账软件,实现了用户与服务器进行交互:登录注册,记账,修改账单,查看账单,删除账单等操作。 基于前后端分离技术: 1. 前端主要由c++实现,以QT为编译环境 2. 后端主要由Python实现,利用了flask框架等 #### 软件架构 软件架构说明 这是山东大学计算机科学与技术学院2021级计算机科学与技术专业的高级语言程序设计大作业 基于QT5平台和pycharm 目标是实现一个可视化的记账软件 #### 安装教程 1. 下载名为“EXE的压缩包” 2. 解压缩 3. 运行其中的“MyWork.exe”文件 #### 使用说明 1. #### 用户在服务器上进行注册和登录 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png) ##### 登录 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png) 进行登录时候,输入账号密码,程序就会检查账号密码是否合格,主要由以下几种报错: **账号或密码至少一个为空** ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg) **账号不存在:** ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg) **密码错误:** ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg) **登录成功** ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpg) 点击OK后,程序会自动进入account即账户页面。 ##### 注册 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png) 其中的要求: \1. 注册账号不能为空且长度不大于16位,可以由数字符号组成。 \2. 密码不能为空且长度不能超过11位。 ​ 这两条系统均会自动检查。如果由错误,系统会进行弹窗提示。 ​ 账号、密码均为空: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image015.jpg) 只有一个为空: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpg) 账户重复: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpg) 注册成功: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg) 点击“返回”按钮,即可自动返回登录页面。 #### 2 实时显示用户的账户信息: ​ ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png) #### 3 对于每一笔记账,均可以通过右键点击,然后进行修改操作或者删除操作: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image025.jpg) ##### 删除操作: 进行删除操作的时候,程序会进行提醒,防止用户误删除: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image027.jpg) 只有当用户点击Yes后,才会进行删除。 ##### 修改操作: 当用户需要修改某一笔记账的时候,可以进行修改。 此时程序也会进行一个提示,防止用户误操作。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image029.jpg) 当用户点击Yes后,程序会进入修改页面。 #### 4 进行修改 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg) 修改页面主要有“商品类型”、“总价”、“是支出还是收入”、“数量有多少”、“购入的日期”、“当前的系统时间”、“确定”、“返回”。 其中,商品的类型主要有以下几类: \3. 日用品 \4. 零食 \5. 饮料 \6. 娱乐 \7. 电子产品 \8. 文具 \9. 餐饮 \10. 医药用品 由一个复选框来进行控制: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image033.jpg) “收支类型”同样由一个复选框进行控制,用户可以选择是“收入”,还是“支出”。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg) 其中,“总价”和“数量”以及“购物日期”,系统均进行了巧妙的设计,输入栏只接受数字的输入,并且当用户点击确定之后,程序会自动进行检查。 当用户点击“取消”按钮的时候,程序会返回上一个页面,也就是“account”界面。 #### 5 进行添加 在account页面中,点击“加一笔”,程序就会调用“addaccount”这个页面。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image037.jpg) 之后account页面自动关闭,程序会自动弹出addaccount页面。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image039.jpg) “记一笔”页面,与“修改”页面布局基本一致。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image041.jpg) 当用户点击保存,成功添加了一个页面的时候,考虑到程序的易用性和用户的方便,我设计了一个弹窗提醒: ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image043.jpg) 如果用户点击Yes,那么程序会自动刷新当前“记一笔”的页面,清空已经添加到后端数据库中的数据,方便用户再一次的添加。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg) 如果用户点击了No,那么就会转到account页面中,同时显示出最新的用户的账单信息。 ![img](file:///C:/Users/14754/AppData/Local/Temp/msohtmlclip1/01/clip_image047.jpg) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request