python-3.x - 如何使用 spinbox 选择列表中的项目,然后使用添加到购物车按钮将该项目添加到发票?Python 3
问题描述
from tkinter import *
这是两个包含价格和产品详细信息的列表。
price_audible = ['$1.99', '$1.50', '$1.00', '$1.99', '$1.50', '$1.00', '$1.99', '$1.50', '$1.00', '$1.99']
description_audible = ['1: Aaaaaa', '2: bbbbbb', '3: ccccccccc', '4: dddddddddd', '5:eeeeeeee',
'6: fffffff', '7: gggggggg', '8: hhhh', '9: ii', '10: jjjjjjjjjjjjjjjjj']
audible_newlist = ''
for m in range(0, 10):
'\n'
var_1=('#'+description_audible[m])+ '\n' +('('+price_audible[m]+')')+'\n'
audible_newlist = audible_newlist + var_1
show_window = audible_newlist
dash_1 = Tk()
dash_1.configure(bg = 'red')
dash_1.title("Amazon Bestsellers Audible")
show_window = StringVar()
show_window.set(audible_newlist)
conction = IntVar()
def audible_catagory():
new_pc = Toplevel(dash_1)
new_pc.title('Amazon Bestsellers PC')
Label(new_pc, text = "Amazon Bestsellers PC", font = ('Arial', 14),
bg='red', fg='floralwhite').pack()
Label(new_pc, textvariable = show_window, justify = LEFT, bg= 'light yellow',takefocus = True).pack()
Label(dash_1, text = "Amazon Bestsellers Audible", font = ('Arial', 14), bg='red', fg='floralwhite').pack()
Label(dash_1, text = show_window).pack()
Button(dash_1, text = 'Add to cart').pack()
Radiobutton(dash_1, text = 'Amazon Audible', value = True, variable = conction, command =audible_catagory).place(x=0, y=0)
spin_box = Spinbox(dash_1, from_=0, to=10, fg = 'black',
width = 2, justify = RIGHT, relief = 'flat', bg = 'red').pack()
dash_1.mainloop()
当您运行此 python 代码时,它会创建一个窗口,其中有一个单选按钮,当单击该单选按钮时,它会弹出另一个窗口,其中显示项目价格及其名称,从 1 到 10 个项目。有一个旋转框,其值从 1 到 10。还有一个名为“添加到购物车”的按钮。如何将此旋转框连接到其余代码和添加到购物车按钮。因此,当有人想购买第 9 件商品时,他们将使用旋转框选择第 9 件商品,然后当他们按下“添加到购物车”按钮时,该商品将被添加到列表中。这将显示项目的总成本。
如果有人可以提供帮助将不胜感激。
解决方案
因此,当您单击“添加到购物车”按钮时,程序应首先获取 Spinbox 的值,然后使用该数据从列表中获取商品的价格并将其价格添加到另一个变量中。
您可以使用spin_box.get()
从 Spinbox 获取值。要在单击时运行函数,请将属性添加command=your_function
到Button(dash_1, text = 'Add to cart').pack()
. 然后你可以添加函数:
def your_function():
item_number = spinbox.get()
audible_cart_total_price += price_audible[item_number]
注意:您必须将数据更改price_audible
为数字,而不是字符串。当显示到屏幕上时,您可以使用字符串插值来添加美元符号。
推荐阅读
- swift - 视图不会在 foreach 中重新加载
- javascript - 使用 D3 解决 Promise
- java - 如何用 REST API URL 解决两个连续的斜线?
- php - 无法在 php docker 映像中启用 ldap 扩展
- c++ - 将一个 QByteArray 附加到另一个 QByteArray
- json - 动作控制器中的IformFile取值为null,使用ajax请求将值传递给动作控制器
- apache-kafka - Kafka connect 正在发送格式错误的 json
- c - 错误:在函数中将结构作为参数传递时,表达式在 c 中必须具有结构或联合类型
- java - 在 IntelliJ 中初始化 GUI 组件
- arangodb - ARANGODB ensureIndex 创建全文不起作用