from tkinter import *
from tkinter import messagebox
# Tworzenie okna programu
root = Tk()
root.title("Magazyn")
# Tworzenie listy towarów
towary = {"jabłka": 100, "banany": 50, "mandarynki": 200}
# Funkcja dodająca towar
def dodaj_towar():
towar = pole_towar.get().strip()
ilosc = pole_ilosc.get().strip()
towar = towar.lower()
if towar in towary:
towary[towar] += int(ilosc)
else:
towary[towar] = int(ilosc)
pole_towar.delete(0, END)
pole_ilosc.delete(0, END)
wyswietl_towary()
# Funkcja odejmująca towar
def odejmij_towar():
towar = pole_towar.get().strip()
ilosc = pole_ilosc.get().strip()
towar = towar.lower()
if towar in towary:
if int(ilosc) <= towary[towar]:
towary[towar] -= int(ilosc)
pole_towar.delete(0, END)
pole_ilosc.delete(0, END)
wyswietl_towary()
else:
messagebox.showerror("Błąd", "Nie ma wystarczającej ilości towaru!")
else:
messagebox.showerror("Błąd", "Nie ma takiego towaru!")
# Funkcja usuwająca towary o ilości 0
def usun_towar_ze_stanem_zero():
for towar, ilosc in list(towary.items()):
if ilosc == 0:
del towary[towar]
wyswietl_towary()
# Funkcja wyświetlająca towar
def wyswietl_towary():
# usuwanie towary o ilości 0
for towar, ilosc in list(towary.items()):
if ilosc == 0:
del towary[towar]
# usuwanie kolumn z nagłówkami
for widget in ramka_tabeli.winfo_children():
widget.destroy()
naglowki = ["Towar", "Ilość"]
for i, naglowek in enumerate(naglowki):
etykieta_naglowka = Label(ramka_tabeli, text=naglowek, font=("Arial", 14, "bold"))
etykieta_naglowka.grid(row=0, column=i)
# wypełnianie tabeli towarów
for i, (towar, ilosc) in enumerate(towary.items(), start=1):
etykieta_towaru = Label(ramka_tabeli, text=towar.capitalize(), font=("Arial", 12))
etykieta_towaru.grid(row=i, column=0)
etykieta_ilosci = Label(ramka_tabeli, text=str(ilosc), font=("Arial", 12))
etykieta_ilosci.grid(row=i, column=1)
# Tworzenie etykiet i pól tekstowych
etykieta_towar = Label(root, text="Towar:", font=("Arial", 14, "bold"))
etykieta_towar.grid(row=0, column=0, padx=5, pady=5)
pole_towar = Entry(root, font=("Arial", 12))
pole_towar.grid(row=0, column=1, padx=5, pady=5)
etykieta_ilosc = Label(root, text="Ilość:", font=("Arial", 14, "bold"))
etykieta_ilosc.grid(row=1, column=0, padx=5, pady=5)
pole_ilosc = Entry(root, font=("Arial", 12))
pole_ilosc.grid(row=1, column=1, padx=5, pady=5)
# Tworzenie przycisków
przycisk_dodaj = Button(root, text="Dodaj", font=("Arial", 12), command=dodaj_towar)
przycisk_dodaj.grid(row=2, column=0, padx=5, pady=5)
przycisk_odejmij = Button(root, text="Odejmij", font=("Arial", 12), command=odejmij_towar)
przycisk_odejmij.grid(row=2, column=1, padx=5, pady=5)
# Tworzenie ramki na tabelkę towarów
ramka_tabeli = Frame(root)
ramka_tabeli.grid(row=3, column=0, columnspan=2, padx=5, pady=5)
#Tworzenie ramki tabeli
ramka_tabeli = Frame(root)
ramka_tabeli.grid(row=4, column=0, columnspan=2, padx=5, pady=5)
# Wyświetlenie towarów
wyswietl_towary()
root.mainloop()
#%%