Modifications:

- Fix image display
- Fix aligment of LabelFrame
- Better text in table
This commit is contained in:
Mylloon 2021-11-25 23:21:36 +01:00
parent d89a57eccf
commit b16d1c13b9

23
main.py
View file

@ -13,6 +13,7 @@ class GesMag:
self.parent = Tk() # fenêtre affiché à l'utilisateur self.parent = Tk() # fenêtre affiché à l'utilisateur
self.parent.resizable(False, False) # empêche la fenêtre d'être redimensionnée self.parent.resizable(False, False) # empêche la fenêtre d'être redimensionnée
self.f = Frame(self.parent) # `Frame` affiché à l'écran self.f = Frame(self.parent) # `Frame` affiché à l'écran
self.imagesStock = [] # liste qui va contenir nos images pour l'affichage du stock
def demarrer(self) -> None: def demarrer(self) -> None:
"""Lance le programme GesMag.""" """Lance le programme GesMag."""
@ -200,7 +201,7 @@ class GesMag:
# Partie affichage du Stock # Partie affichage du Stock
stock = LabelFrame(self.f, text="Stock") stock = LabelFrame(self.f, text="Stock")
stock.grid(column=0, row=1) stock.grid(column=0, row=1, sticky='n', padx=5)
def __affichageTableau(stockListe: list, parent: Frame, page: int = 1): def __affichageTableau(stockListe: list, parent: Frame, page: int = 1):
"""Fonction qui va actualiser le tableau avec une page donnée.""" """Fonction qui va actualiser le tableau avec une page donnée."""
@ -225,11 +226,11 @@ class GesMag:
Label(parent, text="Type").grid(column=2, row=0, padx=ecart) Label(parent, text="Type").grid(column=2, row=0, padx=ecart)
Label(parent, text="Nom").grid(column=3, row=0, padx=ecart) Label(parent, text="Nom").grid(column=3, row=0, padx=ecart)
Label(parent, text="Quantité").grid(column=4, row=0, padx=ecart) Label(parent, text="Quantité").grid(column=4, row=0, padx=ecart)
Label(parent, text="Prix unité (€)").grid(column=5, row=0, padx=ecart) Label(parent, text="Prix unité").grid(column=5, row=0, padx=ecart)
curseur = limiteIndex - elementsParPage # on commence à partir du curseur curseur = limiteIndex - elementsParPage # on commence à partir du curseur
i = 1 # on commence à 1 car il y a déjà le nom des colonnes en position 0 i = 1 # on commence à 1 car il y a déjà le nom des colonnes en position 0
images = [] # liste qui va stocker nos images self.imagesStock = [] # on vide la liste si elle contient déjà des données
for element in stockListe[curseur:limiteIndex]: # on ignore les éléments avant le curseur et après la limite for element in stockListe[curseur:limiteIndex]: # on ignore les éléments avant le curseur et après la limite
Label(parent, text=element["id"]).grid(column=0, row=i) Label(parent, text=element["id"]).grid(column=0, row=i)
@ -240,17 +241,15 @@ class GesMag:
""" """
try: # on essaie d'ouvrir l'image try: # on essaie d'ouvrir l'image
open(element["image_url"], "r") open(element["image_url"], "r")
images.append(PhotoImage(file = element["image_url"])) self.imagesStock.append(PhotoImage(file = element["image_url"]))
except FileNotFoundError: # si l'image n'existe pas except FileNotFoundError: # si l'image n'existe pas
images.append(PhotoImage(file = "img/defaut.gif")) self.imagesStock.append(PhotoImage(file = "img/defaut.gif"))
print(images[i - 1].name) Label(parent, image=self.imagesStock[i - 1]).grid(column=1, row=i)
Label(parent, image=images[i - 1]).grid(column=1, row=i)
Label(parent, text=element["type"]).grid(column=2, row=i) Label(parent, text=element["type"].capitalize()).grid(column=2, row=i)
Label(parent, text=element["nom"]).grid(column=3, row=i) Label(parent, text=element["nom"].capitalize()).grid(column=3, row=i)
Label(parent, text=element["quantite"]).grid(column=4, row=i) Label(parent, text=element["quantite"]).grid(column=4, row=i)
Label(parent, text=element["prix"]).grid(column=5, row=i) Label(parent, text=f"{float(element['prix']):.2f}".replace('.', ',')).grid(column=5, row=i)
# Label(parent, text=element['type']).grid(column=0, row=i+2)
curseur += 1 curseur += 1
i += 1 i += 1
@ -275,7 +274,7 @@ class GesMag:
# Partie affichage du ticket de caisse # Partie affichage du ticket de caisse
ticket = LabelFrame(self.f, text="Ticket de caisse") ticket = LabelFrame(self.f, text="Ticket de caisse")
ticket.grid(column=1, row=1) ticket.grid(column=1, row=1, sticky='n', padx=5)
Label(ticket, text="TODO").grid() Label(ticket, text="TODO").grid()
# Boutton pour passer en mode manager si la personne est un manager # Boutton pour passer en mode manager si la personne est un manager