[Tkinter] how to get the entry information using Entry.get() ? - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: [Tkinter] how to get the entry information using Entry.get() ? (/thread-16819.html) |
how to get the entry information using Entry.get() ? - SamyPyth - Mar-16-2019 Hello, I have a problem. I would like to retrieve the information in my Entry to put in list_info. thank you in advance. from tkinter import * # reglages width = 800 height = 600 couleur = (48, 47, 47) couleurmes = (113, 113, 113) class Appli(): def __init__(self): self.fenetre = Tk() self.fenetre.geometry("1000x600") self.fenetre.title('Appli') self.fenetre.configure(background="#cecece") self.fenetre.configure(highlightbackground="#cecece") self.fenetre.configure(borderwidth="1") self.fenetre.configure(relief="sunken") self.fenetre.attributes('-alpha', 0.98) self.objet() liste_Info = [] def objet(self): self.listeF = ['NOM :', 'PRENOM :', 'ADRESSE :', 'N° TELE :', 'MAIL :' ] self.liste_Info = [] R_span = 2 R_pady = 70 # graphique creation for x in self.listeF: global entree x = Label(self.fenetre, text=x, bg='#cecece', fg='black') x.grid(row=1, column=2, rowspan = R_span, pady = R_pady, sticky = W) x = Entry(self.fenetre, bg='black', fg='white') x.grid(row=1, column=3, rowspan=R_span, pady=R_pady, sticky = NW) print(x) entree = x.get() R_span += 1 R_pady +=50 self.lab_mes = Label(self.fenetre, text='MESSAGE : ', bg='#cecece', fg='black') self.lab_mes.grid(row=1, column=4, padx=40, rowspan = 2, sticky = W) self.MES = Entry(self.fenetre, bg='black', fg='white') self.MES.grid(row=2, column=4, padx=40, rowspan=2, ipady = 40, sticky = W) self.bouton = Button(self.fenetre, text='Valider', command=self.Entree_Get()) self.bouton.grid(row=4, column=4,padx=40,sticky = NE) self.canphoto = Canvas(self.fenetre, width=165, height=222, bg='dark grey') self.canphoto.grid(row=1, column=1, rowspan=4, padx=20, pady=70,sticky = W) def Entree_Get(self): self.liste_Info.append(entree) print(self.liste_Info) application = Appli() application.fenetre.mainloop() RE: how to get the entry information using Entry.get() ? - nilamo - Mar-18-2019 Does Entry.get() not work? In this case, self.MES.get()
RE: how to get the entry information using Entry.get() ? - woooee - Mar-18-2019 You have to keep a reference to each individual Entry, in this case x. Each pass through the for overlays the previous x, so it no longer exists. So, using a dictionary below, so you can store everything in one container ## NOT tested - don't have time ## post back if there are problems self.entry_dict={} for x in self.listeF: ##global entree ## don't have to keep a reference to the Label ## since it isn't accessed anywhere else Label(self.fenetre, text=x, bg='#cecece', fg='black').grid(row=1, column=2, rowspan = R_span, pady = R_pady, sticky = W) y = Entry(self.fenetre, bg='black', fg='white') y.grid(row=1, column=3, rowspan=R_span, pady=R_pady, sticky = NW) self.entry_dict[x]=y print("entry_dict", self.entry_dict) ## self.listeF item --> tkinter instance def Entree_Get(self): for x in self.listeF: ## read the dict in this order print(x, self.entry_dict[x].get()) |