系列文章目录
Python 控件学习:购物菜单
文章目录
前言
这段代码是一个使用 Python 的 tkinter 库和 PIL(现在称为 Pillow)库实现的简单购物菜单程序。程序提供了一个图形用户界面(GUI),允许用户浏览商品、将商品添加到购物车、查看购物车内容、清空购物车以及查看购物车总额。
一、项目需求
要求程序允许用户浏览商品、将商品添加到购物车、查看购物车内容、清空购物车以及查看购物车总额,最后将购物车里面的信息保存到本地txt文件中,每次启动程序都可以调用上次保存的购物车。
二、库与商品的导入
1.引入库
代码如下(示例):
import tkinter as tk # 导入tkinter库,用于创建GUI
from tkinter import messagebox # 导入messagebox,用于显示弹出消息框
from PIL import Image, ImageTk # 导入PIL库中的Image和ImageTk模块,用于图像处理和显示
2.导入商品信息
代码如下(示例):
# 定义商品列表,每个商品有名称、价格和图片路径
products = {
'1': {
'name': '苹果', 'price': 5.0, 'image_path': 'apple.png'},
'2': {
'name': '香蕉', 'price': 3.0, 'image_path': 'banana.png'},
'3': {
'name': '橙子', 'price': 4.0, 'image_path': 'orange.png'},
'4': {
'name': '牛奶', 'price': 2.5, 'image_path': 'milk.png'},
'5': {
'name': '葡萄', 'price': 6.0, 'image_path': 'grape.png'}
}
3.初始化字典
代码如下(示例):
# 初始化购物车字典,用于存储商品ID和对应的数量
cart = {
}
三、购物车代码编写
1.文件保存函数
代码如下(示例):
# 保存购物车到文件的函数
def save_cart_to_file():
with open('cart.txt', 'w') as file: # 打开文件准备写入
for item, quantity in cart.items(): # 遍历购物车中的每个商品
file.write(f"{
item}: {
quantity}\n") # 将商品ID和数量写入文件
2.文件加载
代码如下(示例):
# 从文件加载购物车的函数
def load_cart_from_file():
global cart # 声明cart为全局变量
cart.clear() # 清空现有的购物车数据
try:
with open('cart.txt', 'r') as file: # 打开文件准备读取
for line in file:
item, quantity = line.strip().split(': ') # 分割每行数据
cart[item] = int(quantity) # 将数据存入购物车字典
except FileNotFoundError: # 如果文件不存在
pass # 忽略错误,购物车保持为空
show_cart() # 加载后显示购物车
3.清空购物车
代码如下(示例):
# 清空购物车的函数
def clear_cart():
global cart # 声明cart为全局变量
cart