Skip to content

In special periods such as material shortage, or to improve the utilization rate of idle items, an item exchange software with an interactive interface, which can connect to a local database, is designed based on Python Tkinter.

Notifications You must be signed in to change notification settings

Luyu-Han/Tkinter-GUI-Application-for-Exchanging-Items

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tkinter-GUI-Application-for-Exchanging-Items

In special periods such as material shortage, or to improve the utilization rate of idle items, an item exchange software with an interactive interface, which can connect to a local database, is designed based on Python Tkinter.

软件使用说明

  • 请将上述代码全部下载
    此外,需安装python tkinter,sqlite3
  • 在首次使用该系统的设备上,运行init.py新建数据库:  
    1. 点击“初始化数据库”;
    2. 初始化成功后,点击“启动程序”;(若点击“确定”,会退出系统)
    3. 进入选择登录身份界面。
    4. 初始化时,已在新用户、普通用户、管理员数据库中分别存储一个实例;物品、类别已有多个实例(初始管理员账号为:admin 密码admin; 初始普通用户账号:user 密码123456)
  • 若非首次使用且无需初始化数据库,可直接运行main.py

文件目录

  • lib
    • GlobalVar.py:global GLOBALS_DICT
    • sqliteDB.py:class ItemDB、UserDB、NewUserDB、AdminDB,实现数据库基本的增删改等功能
    • manageDB.py:实现数据库相关操作的整合并提供接口
    • windows.py:可能会复用的窗口界面位置、大小的函数
  • Admin
    • AFrame.py:实现AMenu中具体功能
    • AMenu.py:管理员主界面菜单,设计上方工具栏等但不实现具体功能
    • ARoot.py:连接交互界面与具体实现
  • User
    • UFrame.py:实现UMenu中具体功能
    • UMenu.py:用户主界面菜单,设计上方工具栏等但不实现具体功能
    • URoot.py:连接交互界面与具体实现
  • Data:数据库文件
  • winLogin.py 除了管理员/普通用户系统界面外的初始化、登录、注册等界面
  • init.py 可直接运行的建立或初始化数据库的程序
  • main.py 在之前运行过该系统的设备上再次打开系统

所有功能说明

  • 互帮互助系统可用于疫情背景下小区内部的物品交换。

    • 为使运行更加有序、确保用户为本小区居民,用户初次使用系统需注册账号并填写住址、联系方式等信息,待管理员审核通过后方可登录、使用系统。其基本功能包括物品信息的添加、删除、显示、查找等。
    • 物品信息包括类型、名称、描述、所在地址、联系人手机、邮箱等等。用户添加物品时,需先选择物品类别,之后系统会反馈该类别物品描述时的注意事项,用户据此将信息填写完整。查找物品时,可根据类别或类别与关键字结合。
    • 系统管理员会及时审查、准入新注册用户,还会定期更新物品类别、修改分类有误的物品类型。同时,管理员还有删除无效用户、物品、物品类别等权限。
  • 选择登录身份
    点击“退出系统”,可终止登录过程

  • 管理员 / 用户登录界面

    • 普通用户登录:
      点击“返回上一步”,可回到选择登录身份界面
      1. 点击“新用户注册”进入注册界面
      2. 未输入用户名或用户名不存在,会弹出错误提示
      3. 未输入密码或与用户名不匹配,会弹出错误提示
      4. 均输入正确后,进入用户系统主界面
    • 新用户注册:
      点击“返回上一步”,可回到普通用户登录界面
      1. 任何一项信息输入补全都会在确认时弹出错误提示
      2. 信息填写完整后,确认则提示等待管理员审核,同时清空输入栏,可连续注册 返回至普通用户登录,此时输入新注册用户发现还无法使用
    • 管理员登录:
      点击“返回上一步”,可回到选择登录身份界面
      1. 未输入用户名或用户名不存在,会弹出错误提示
      2. 未输入密码或与用户名不匹配,会弹出错误提示
      3. 均输入正确后,进入管理系统主界面
  • 普通用户界面:

    • 主界面:显示欢迎及提示信息,通过上方工具栏选择各种功能
    • 个人信息查看
    • 个人信息修改
    • 退出登录
    • 物品添加:
      1. 通过菜单栏选择“物品添加”,首先弹出选择物品类别对话框
      2. 如果未选择物品类别直接确定,会弹出错误信息
      3. 选择好物品类别再进入,会在“描述”下方显示相应类别的属性提示(管理员预先设置)
      4. 若有除邮箱外的信息填写不全,会弹出错误提示
      5. 全部填写提交后,会提示成功添加物品,同时清空输入框,可以连续添加
    • 物品查找
      1. 点击全部物品会显示所有物品信息
      2. 可以仅按照物品类别查找
      3. 也可以同时按照类别、关键字查找
      4. 仅输入关键字会提示错误信息,关键字可按照名称与描述查找
      5. 若未选中物品,直接点击删除会提示错误信息
      6. 弹出删除对话框,点击取消还可终止删除过程;点击确定后,该物品被删除
  • 管理员管理界面:

    • 主界面:显示欢迎及提示信息,通过上方工具栏选择各种功能
    • 新用户审核:
      1. 之前注册过的新用户和初始化存储的newUser都会显示在列表中
      2. 不选中直接操作,会有错误提示
      3. 选中用户的用户名会显示在页面上方
      4. 点击审核通过,会提示新用户准入成功,并且该数据从新用户数据库中移除,进入用户数据库;点击拒绝并删除,该数据会直接从新用户数据库中移除
    • 用户信息查看:
      1. 之前准入的用户信息会出现在列表中,而删除的不会
      2. 管理员可对已准入用户也进行管理,比如删除操作
    • 管理员账户添加
      1. 必须将信息填写完整才能成功添加
      2. 之后则也可用该账户登录管理员系统
    • 类别新增
      1. 必须将信息填写完整才能成功添加
      2. 添加后则可在全部类别查看中看到
    • 全部类别查看 同时可进行删除类别的操作
    • 物品类别修改
      1. 在列表中展示了全部物品,管理员可以对无效物品信息进行删除
      2. 也可以在该界面对不当物品类别进行调整,更新后的数据会直接显示在列表中

About

In special periods such as material shortage, or to improve the utilization rate of idle items, an item exchange software with an interactive interface, which can connect to a local database, is designed based on Python Tkinter.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages