Попытка создать простое приложение со списком покупок, в котором пользователь установит флажок, затем введет количество товаров.Нажатие кнопки должно вывести имя с номером элемента.например, яблоки 10, 1 банан и т. д. Я хотел бы вырастить словарь фруктов и позже добавить другие элементы в GUI, такие как мясо / рыба, общие и т. д.
Я думал, что логичным способом было бы создатьdictionary {ключ: значение}, где ключом будет имя флажка, а значением будет число внутри текстового поля ввода.
Не могли бы вы показать мне, как это сделать?Спасибо!
пытался следовать некоторым примерам, но не мог понять, как извлечь текст = "Яблоки" из флажка и добавить это как ключ в словарь.Также играл с лямбдой в качестве вывода, но на самом деле ничего не материализовалось, потому что во всех примерах уже был создан словарь.Вот мой пример.
from tkinter import *
item_list = []
items_dict = {}
# mget gets output from checkboxes and prints results
def mget():
print(apples.get(), pears.get(), bananas.get(),apricots.get())
print(apples_qnty.get(),pears_qnty.get(), bananas_qnty.get(),
apricots_qnty.get())
#item_list.append(apples.get)
window = Tk()
apples = IntVar()
chk_apples = Checkbutton(window,text="Apples",
variable=apples).grid(row=1,sticky=W)
apples_qnty = StringVar()
apples_qnty = Entry(width=3)
apples_qnty.grid(column=1, row = 1)
item_list.append("Apples")
pears = IntVar()
chk_pears = Checkbutton(window,text="Pears",
variable=pears).grid(row=2,sticky=W)
pears_qnty = StringVar()
pears_qnty = Entry(width=3)
pears_qnty.grid(column=1, row = 2)
item_list.append("Pears")
bananas = IntVar()
Checkbutton(window,text="Bananas",
variable=bananas).grid(row=3,sticky=W)
bananas_qnty = StringVar()
bananas_qnty = Entry(width=3)
bananas_qnty.grid(column=1, row = 3)
item_list.append("Bananas")
apricots = IntVar()
Checkbutton(window,text="Apricots",
variable=apricots).grid(row=4,sticky=W)
apricots_qnty = StringVar()
apricots_qnty = Entry(width=3)
apricots_qnty.grid(column=1, row = 4)
item_list.append("Apricots")
print(item_list) # just to see list
Button(window,text="print check box states", command = mget).grid(row=5,sticky=W)
Button(window,text="exit", command =window.destroy).grid(row=5,sticky=E)
window.mainloop()
Я бы хотел, чтобы программа выполняла следующие действия: пользователь проверял кнопки проверки и вводил номера элементов.нажатие кнопки приведет к выводу выбранных элементов.Например, яблоки 4, бананы 1 и т. Д. Если эта кнопка не отмечена, ничего не выводится.