首页 > 解决方案 > 如何使用 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 件商品,然后当他们按下“添加到购物车”按钮时,该商品将被添加到列表中。这将显示项目的总成本。

如果有人可以提供帮助将不胜感激。

标签: python-3.xtkinter

解决方案


因此,当您单击“添加到购物车”按钮时,程序应首先获取 Spinbox 的值,然后使用该数据从列表中获取商品的价格并将其价格添加到另一个变量中。

您可以使用spin_box.get()从 Spinbox 获取值。要在单击时运行函数,请将属性添加command=your_functionButton(dash_1, text = 'Add to cart').pack(). 然后你可以添加函数:

def your_function():
    item_number = spinbox.get()
    audible_cart_total_price += price_audible[item_number]

注意:您必须将数据更改price_audible为数字,而不是字符串。当显示到屏幕上时,您可以使用字符串插值来添加美元符号。


推荐阅读