一、设计要求
该项目旨在创建一个简单的超市商品选购系统,利用Tkinter创建一个图形用户界面(GUI),允许用户添加、删除商品并生成商品销售情况的饼状图。
二、设计思路
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈
代码设计思路
2. 模块引入
代码首先引入了所需的模块,包括Tkinter(用于GUI的创建和管理)、messagebox和simpledialog(用于弹出消息框和简易对话框)以及matplotlib.pyplot(用于生成饼状图)。
import tkinter as tk from tkinter import messagebox from tkinter import simpledialog import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
3. Tkinter窗口初始化
初始化Tkinter窗口,并设置窗口标题为“超市商品选购系统(UI)”。
root_09 = tk.Tk() root_09.title("超市商品选购系统(UI)")
4. 商品信息字典
使用一个空字典products_09
来存储商品信息,键为商品名称,值为商品价格。
products_09 = {}
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈
5. 添加商品功能
创建一个函数add_product
,当用户点击“添加商品”按钮时,该函数会被调用。函数从输入框获取商品名称和价格,并将其添加到字典products_09
中,随后更新商品列表框,并清空输入框。
def add_product(): product_name_09 = product_name_09_entry.get() # 代码略(至少十行)... # 代码略(至少十行)... product_name_09_entry.delete(0, tk.END) product_price_09_entry.delete(0, tk.END)
6. 删除商品功能
创建一个函数delete_product
,当用户点击“删除商品”按钮时,该函数会被调用。函数从列表框获取选中的商品名称,并将其从字典products_09
中删除,随后更新商品列表框。
def delete_product(): selected_product = product_listbox.get(tk.ACTIVE) if selected_product: del products_09[selected_product] update_product_listbox_09()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈
7. 生成饼状图功能
创建一个函数generate_pie_chart
,当用户点击“生成饼状图”按钮时,该函数会被调用。函数首先检查字典products_09
是否为空,如果为空则弹出提示框提醒用户添加商品信息。如果不为空,则提取商品名称和价格,使用matplotlib生成饼状图并显示。
def generate_pie_chart(): if not products_09: messagebox.showinfo("提示", "请添加商品信息") return # 代码略(至少十行)... # 代码略(至少十行)... plt.pie(prices, labels=labels, autopct='%1.1f%%', startangle=140) plt.title("商品销售情况") plt.axis('equal') plt.show()
8. 更新商品列表框
创建一个函数update_product_listbox_09
,用于更新商品列表框中的内容。每次添加或删除商品后调用该函数,以确保列表框显示的内容是最新的。
def update_product_listbox_09(): product_listbox.delete(0, tk.END) for product in products_09.keys(): product_listbox.insert(tk.END, product)
9. 界面布局
使用Tkinter组件创建主界面,包括标签、输入框、按钮和列表框,并设置相应的布局和事件绑定。
product_name_09_label = tk.Label(root_09, text="商品名称:") product_name_09_label.pack() product_name_09_entry = tk.Entry(root_09) product_name_09_entry.pack() # 代码略(至少十行)... # 代码略(至少十行)... delete_button = tk.Button(root_09, text="删除商品", command=delete_product) delete_button.pack() generate_button = tk.Button(root_09, text="生成饼状图", command=generate_pie_chart) generate_button.pack()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈
10. 运行主循环
最后,运行Tkinter主循环,保持窗口处于活动状态,等待用户交互。
root_09.mainloop()
总结
该代码设计了一个简单直观的GUI系统,用于管理超市商品的添加、删除及销售情况的可视化。通过模块化的设计,各个功能独立且相互协作,界面布局简洁明了,用户体验友好。
三、可视化分析
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 选购 ” 获取,拿来即用,只回复文字哦。👈👈👈