Тема: програма, що складається з двох списків Listbox.
Доброго дня. Допоможіть будь ласка дописати домашку сину. Знайшов за опомогою Гугла та Ютуба в цілому все рішення, окрім останньго пункту.
ЗАВДАННЯ. Напишіть програму, що складається з двох списків Listbox.
Перший список містить перелік товарів, другий — перелік покупок. При натисканні на одну кнопку товар має переходити з одного списку в інший. При натисканні на іншу кнопку — повертатися (людина передумала купувати). Передбачити можливість множинного вибору елементів списку і їх переміщення.
from tkinter import *
root = Tk()
root.title('Покупки')
root.geometry('400x200+500+300')
def toSecond():
selectToSecond = lbox1.curselection()
for i in selectToSecond:
lbox2.insert(END, lbox1.get(i))
for i in reversed(selectToSecond):
lbox1.delete(i)
def toFirst():
selectToFirst = lbox2.curselection()
for i in selectToFirst:
lbox1.insert(END, lbox2.get(i))
for i in reversed(selectToFirst):
lbox2.delete(i)
lbox1 = Listbox(selectmode=EXTENDED)
for i in ["ЯБЛУКА", "БАНАНИ", "МОРКВА", "ХЛІБ", "МОЛОКО", "КАВА", "ЧАЙ", "ЦУКОР", "ЧІПСИ", "ЦУКЕРКИ"]:
lbox1.insert(0,i)
lbox1.pack(side=LEFT,anchor="c", padx=5, pady=5)
lbox2 = Listbox(selectmode=EXTENDED)
lbox2.pack(side=RIGHT,anchor="c", padx=5, pady=5)
f = Frame()
f.pack(side=LEFT, padx=10)
Button(f, text=">>>", command=toSecond, width=40).pack(fill=X)
Button(f, text="<<<", command=toFirst, width=40).pack(fill=X)
lab1 = Label(root, text = 'Кількість покупок:')
lab1.place(x = 150, y = 130)
lab2 = label(root, text = lbox_2.size())
lab1.place(x = 160, y = 150)
k = lbox2.size()
lab2.config(text = str(k))
root.mainloop()
Додайте віджет lab1 класу Label із заголовком Кількість покупок і віджет lab2 класу Label для виведення кількості елементів у списку box2.
Додайте до описів функцій оператори для зміни значення атрибуту text
віджета lab2 на значення box_2.size().
k = box2.size() lab2.config(text = str(k))
Підскажіть буль ласка де я помилився?