Untitled
unknown
python
2 years ago
3.3 kB
5
Indexable
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() #%%
Editor is loading...