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
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)