From 540ea0e0677c3d21a29e8f959e34eb7ae916fd28 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sat, 20 Nov 2021 11:39:16 +0100 Subject: [PATCH] adding user info in child window --- main.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/main.py b/main.py index 844d816..369096a 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ import tkinter.messagebox as messagebox -from tkinter import Scrollbar, Listbox, Entry, Button, Label, Frame, Tk +from tkinter import Scrollbar, Listbox, Entry, Button, Label, Frame, Tk, Toplevel from re import sub from users import Utilisateurs # import de mon fichier pour gérer la base de donnée @@ -74,20 +74,20 @@ class GesMag: else: messagebox.showerror("Erreur", "Utilisateur ou mot de passe incorrect.") - def dimensionsFenetre(self, nouveauX: int, nouveauY: int): + def dimensionsFenetre(self, fenetre, nouveauX: int, nouveauY: int): """Permet de changer les dimensions de la fenêtre parent et la place au centre de l'écran.""" - largeur = self.parent.winfo_screenwidth() - hauteur = self.parent.winfo_screenheight() + largeur = fenetre.winfo_screenwidth() + hauteur = fenetre.winfo_screenheight() x = (largeur // 2) - (nouveauX // 2) y = (hauteur // 2) - (nouveauY // 2) - self.parent.geometry(f"{nouveauX}x{nouveauY}+{x}+{y}") + fenetre.geometry(f"{nouveauX}x{nouveauY}+{x}+{y}") def _interfaceConnexion(self): """Affiche l'interface de connexion.""" # Paramètres de la fenêtre - self.dimensionsFenetre(400, 600) + self.dimensionsFenetre(self.parent, 400, 600) self.parent.title("Fenêtre de connexion") # Suppresssion de la dernière Frame @@ -138,7 +138,7 @@ class GesMag: """Affiche l'interface du caissier.""" caissier = Utilisateurs().recuperationUtilisateur(id=id)[0] self.parent.title(f"Caissier {caissier[3]} {caissier[4]}") - self.dimensionsFenetre(1280, 720) + self.dimensionsFenetre(self.parent, 1280, 720) # Suppresssion de la dernière Frame self.f.destroy() @@ -150,7 +150,7 @@ class GesMag: """Affiche l'interface du manager.""" manager = Utilisateurs().recuperationUtilisateur(id=id) self.parent.title(f"Manager {manager['nom']} {manager['prenom']}") - self.dimensionsFenetre(530, 720) + self.dimensionsFenetre(self.parent, 530, 720) # Suppresssion de la dernière Frame self.f.destroy() @@ -179,8 +179,15 @@ class GesMag: element = listeUtilisateurs.curselection() if len(element) == 0: # si aucun élément n'est selectionné return - print(Utilisateurs().recuperationUtilisateur(pseudo=listeUtilisateurs.get(element[0]))) - # ouvrir un toplevel? + utilisateur = Utilisateurs().recuperationUtilisateur(pseudo=listeUtilisateurs.get(element[0])) + enfant = Toplevel(self.parent) + enfant.title(f"{utilisateur['nom']} {utilisateur['prenom']}") + self.dimensionsFenetre(enfant, 300, 180) + utilisateur["metier"] = "Manager" if utilisateur["metier"] == 0 else "Caissier" + for idx, cle in enumerate(utilisateur): + Label(enfant, text=f"{cle.capitalize()} :").grid(column=0, row=idx, sticky='e') + Label(enfant, text=utilisateur[cle]).grid(column=1, row=idx, sticky='w') + Button(enfant, text="Quitter", command=enfant.destroy).grid(column=3, row=0, sticky='w', columnspan=3) Button(self.f, text="Ajouter un caissier", font=self.font, command=lambda: __ajouterUtilisateur(1)).grid(column=0, row=2) Button(self.f, text="Retirer un caissier", font=self.font, command=lambda: __retirerUtilisateur(1)).grid(column=1, row=2)