![]() |
Referencing Combo Box - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: Referencing Combo Box (/thread-24385.html) |
Referencing Combo Box - MC2020 - Feb-11-2020 Hi - I am trying to write a Python code to basically do a sumproduct function based on the item selected and the quantity of that item selected. My code is below. I am having trouble referencing the combobox values. The calculate function is where I'm going wrong. How do I reference the comboboxes I have inputted onto the 'NewWindow'? I add comboboxes to the page based on the number of items selected and the all have the same values,etc. For example if I select 2 'pizzas' and 1 'CocaCola' then the code should print 33. ((2*$15)+(1*$3)) This is my error:
fooditems = {'pizza' : [15] , 'breadsticks' : [5] ,'wings' : [10],'CocaCola' : [3] ,'brownie' : [2]} fooditems2 = [] quantity = ['1','2','3','4'] import tkinter as tk from tkinter import * from tkinter import ttk menu = Tk() menu.geometry('500x300') check_boxes = {item:tk.IntVar() for item in fooditems} for item in fooditems: cb = tk.Checkbutton(menu, text=item, variable=check_boxes[item], anchor='w', onvalue=1, offvalue=0, width=50) cb.pack() combobox = ttk.Combobox(menu, values=quantity) def Open(): New_Window = Toplevel(menu) New_Window.geometry('500x300') calculateButton = tk.Button(New_Window, text = 'calculate', command=calculate) calculateButton.place(x=250,y=250) for key, item in check_boxes.items(): if item.get() == 1: fooditems2.append(key) for x in range(len(fooditems2)): b = Label(New_Window, text=fooditems2[x]) b.pack() combobox = ttk.Combobox(New_Window, values=quantity) combobox.pack() New_Window.mainloop() def calculate(): for x in range(len(fooditems2)): cost = fooditems2[x] * combobox.get() print(cost) confirmButton = tk.Button(menu, text = 'Confirm', command=Open) confirmButton.place(x=250,y=250) menu.mainloop() RE: Referencing Combo Box - Larz60+ - Feb-12-2020 cost calculation is commented out on line 40 RE: Referencing Combo Box - MC2020 - Feb-12-2020 (Feb-12-2020, 02:54 AM)Larz60+ Wrote: cost calculation is commented out on line 40 Whoops forgot to uncomment when I was testing. Fixed the error message in OP. RE: Referencing Combo Box - Larz60+ - Feb-12-2020 Quote:Fixed the error message in OP.Is that the complete unaltered error traceback? I was expecting more RE: Referencing Combo Box - MC2020 - Feb-12-2020 (Feb-12-2020, 03:05 AM)Larz60+ Wrote:Quote:Fixed the error message in OP.Is that the complete unaltered error traceback? This was the entire message
RE: Referencing Combo Box - Larz60+ - Feb-12-2020 I think this is what it's complaining about (haven't tested): cost = fooditems2[x] * int(combobox.get())pretty sure combobox.get is string by default RE: Referencing Combo Box - woooee - Feb-12-2020 A simple print of fooditems2[x] and combobox.get() will tell you what is what. It looks like fooditems2 contains the description and not the cost but you will have to verify that yourself. for key, item in check_boxes.items(): if item.get() == 1: fooditems2.append(key) |