adding user info in child window

This commit is contained in:
Mylloon 2021-11-20 11:39:16 +01:00
parent 2456aeda4e
commit 540ea0e067

27
main.py
View file

@ -1,6 +1,6 @@
import tkinter.messagebox as messagebox 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 re import sub
from users import Utilisateurs # import de mon fichier pour gérer la base de donnée from users import Utilisateurs # import de mon fichier pour gérer la base de donnée
@ -74,20 +74,20 @@ class GesMag:
else: else:
messagebox.showerror("Erreur", "Utilisateur ou mot de passe incorrect.") 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.""" """Permet de changer les dimensions de la fenêtre parent et la place au centre de l'écran."""
largeur = self.parent.winfo_screenwidth() largeur = fenetre.winfo_screenwidth()
hauteur = self.parent.winfo_screenheight() hauteur = fenetre.winfo_screenheight()
x = (largeur // 2) - (nouveauX // 2) x = (largeur // 2) - (nouveauX // 2)
y = (hauteur // 2) - (nouveauY // 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): def _interfaceConnexion(self):
"""Affiche l'interface de connexion.""" """Affiche l'interface de connexion."""
# Paramètres de la fenêtre # Paramètres de la fenêtre
self.dimensionsFenetre(400, 600) self.dimensionsFenetre(self.parent, 400, 600)
self.parent.title("Fenêtre de connexion") self.parent.title("Fenêtre de connexion")
# Suppresssion de la dernière Frame # Suppresssion de la dernière Frame
@ -138,7 +138,7 @@ class GesMag:
"""Affiche l'interface du caissier.""" """Affiche l'interface du caissier."""
caissier = Utilisateurs().recuperationUtilisateur(id=id)[0] caissier = Utilisateurs().recuperationUtilisateur(id=id)[0]
self.parent.title(f"Caissier {caissier[3]} {caissier[4]}") 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 # Suppresssion de la dernière Frame
self.f.destroy() self.f.destroy()
@ -150,7 +150,7 @@ class GesMag:
"""Affiche l'interface du manager.""" """Affiche l'interface du manager."""
manager = Utilisateurs().recuperationUtilisateur(id=id) manager = Utilisateurs().recuperationUtilisateur(id=id)
self.parent.title(f"Manager {manager['nom']} {manager['prenom']}") 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 # Suppresssion de la dernière Frame
self.f.destroy() self.f.destroy()
@ -179,8 +179,15 @@ class GesMag:
element = listeUtilisateurs.curselection() element = listeUtilisateurs.curselection()
if len(element) == 0: # si aucun élément n'est selectionné if len(element) == 0: # si aucun élément n'est selectionné
return return
print(Utilisateurs().recuperationUtilisateur(pseudo=listeUtilisateurs.get(element[0]))) utilisateur = Utilisateurs().recuperationUtilisateur(pseudo=listeUtilisateurs.get(element[0]))
# ouvrir un toplevel? 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="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) Button(self.f, text="Retirer un caissier", font=self.font, command=lambda: __retirerUtilisateur(1)).grid(column=1, row=2)