1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| # FONCTION LISTE DEROULANTE RECHERCHE PAR AGENCE_______________________________________________________________________
def foncBtLstDeroul2(event):
""" Récupère la valeur choisi de la liste déroulante : (par agence)
et ouvre une nouvelle fenêtre avec les noms et prénoms """
lstNomPrenom = []
global varChoix3Liste
varChoix3Liste=3 # Pour définir si la recherche viens du nom, du tel ou de l'agence, (ici : agence) dans la liste déroulante
a = objListDeroulAgen.get () # Recup du choix de la liste déroulante
# Vidage des champs
objListDeroulNom.delete(0, END) #vider le dernier choix au niveau de la liste déroulante
objListDeroulTel.delete(0, END) #vider le dernier choix au niveau de la liste déroulante
# Récupération de la liste des noms et prénoms
for e in lstClass:
if a == e.agence: # Si on le trouve
lstNomPrenom.append(e.nom + " " + e.prenom)
# trie de la liste
lstNomPrenom.sort ()
# Création de la nouvelle fenêtre de la liste des noms par agence
fenNomPrenom = Toplevel ()
fenNomPrenom.title ("Liste des techniciens de l'agence " + a)
fenNomPrenom.configure (bg=varCoulPrinc)
fenNomPrenom.geometry ('300x380')
# Création frame
objFrameAg = LabelFrame (fenNomPrenom, text="Résultat", bg=varCoulPrinc)
objFrameAg.pack (fill="both", expand="yes", padx=5, pady=5) # fill both : extension a yes donc both sinon que sur x ou y
# Création des labels
aaa=0 # Pour incrémentation des lignes (une ligne par techs)
for b in range(len(lstNomPrenom)): # Récup du nb de techs par agence
# Création labels
Button (objFrameAg, image=PHOTOBt2, bg = varCoulPrinc, command=foncAgenVersTech).grid(row=aaa, column=0, padx = (5,0)) # faire fonction avec un paramètre le nom du tech pour revenir sur sa fiche
Label (objFrameAg, bg = varCoulPrinc, text=" " + lstNomPrenom[aaa]).grid(row=aaa, column=1)
aaa += 1
# Création bouton externe
bouSupAg = Button (fenNomPrenom, image=PHOTO4, bg=varCoulPrinc, command=fenNomPrenom.destroy)
bouSupAg.pack(side=BOTTOM)
# Centrage fenêtre
from Fonctions.FoncCentreEcran import centreFenetre
centreFenetre (fenNomPrenom)
# Réception d'événements pour fenMsgBox
fenNomPrenom.mainloop() |
Partager