Я только что закончил читать книгу по питону «Практическое программирование», 2-е изд.и подумал, что я буду испытывать себя на том, чтобы применить то, что я узнал, чтобы сделать свою первую небольшую программу для работы (магазин товаров для дома), чтобы создать список чипов, которые мне нужно заказать, используя tkinter в качестве интерфейса.Я бы указал, сколько чипов каждой марки у меня есть в наличии, и после нажатия кнопки «Заказать» будет возвращено количество чипов каждой марки, необходимое для заказа.
Вот код I 'у меня так далеко:
import tkinter as tk
# Initiate tkinter
window = tk.Tk()
# Create a dictionary of brand of chips with a value of how many chips should be in stock
chips = {'Miss Vickies Original': 4, 'Miss Vikies Salt & Vinegar': 4}
# Start counting rows
row_num = 0
for brand in chips:
# Create label describing the brand of chips
label = tk.Label(window, text=brand)
label.grid(row=row_num, column=1)
# Create an entry box to input number of chips in stock
entry = tk.Entry(window)
entry.grid(row=row_num, column=2)
# Add one; To start at next row
row_num += 1
# Return number of chips to order
def order(entry_data, stock_required):
# Subtract how much is in stock from how much should be in stock
order_quantity = int(stock_required) - int(entry_data)
# Create label to the left of each chip with how many should be ordered
order_label = tk.Label(window, text="'Order: ', order_quantity")
order_label.pack(side='left')
# Order button
button = tk.Button(window, text='Order', command=lambda: order(entry.get(), chips[1]))
button.pack(side='bottom')
window.mainloop()
Я думаю, что я перепутал себя с моим собственным кодом, смеется.Мне очень трудно понять, как заставить кнопку (расположенную внизу) запускать вычисления и показывать order_label
слева от каждой метки фишек.
Проблема, с которой я сталкиваюськод, который я не уверен, как исправить это метка будет вызываться только один раз, так как функция не содержит цикл.Каков рекомендуемый способ решения этой проблемы?
Я проверил: Tkinter: Связать виджет ввода с кнопкой для функции Но это не связанная проблема, так как у меня lambda: order
функция уже включена.
Вот как это должно выглядеть
![enter image description here](https://i.stack.imgur.com/iCChv.png)
Это моя первая программа, поэтому любая конструктивная критика приветствуется!Заранее спасибо