Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
No consigo elegir diferentes Entry-s en tkinter
#1
Hola a todos!!!

Tengo un programa que generar varios objetos Entry-es que se llaman Entry_1, Entry_2..... y quiero luego llamarlos.

Y aunque he hecho mil pruebas no consigo llamarlos, ya que genero un string y así no se puede.

Adjunto el código:

from tkinter import *
root = Tk()
#Genero mi entry
Entry_1 = Entry(root, width=10, font=("Tahoma", 14))
Entry_1.grid(row=0, column=0, padx=5, pady=5, sticky=E)
#copio el código con Entry_2, Entry_3... cambiando row y columns

#quiero llamar a Entry_1 usando n, ya que serán 100
n=1 #una vez conseguido usaré for y range para n

mi_entry=f"fechafinal_{n}"
getattr(mi_entry, "insert")(0,"Loquesea") #Esto es lo que no consigo, ya que en mi_entry meto un string

root.mainloop()

Muchas gracias de antemano!!!!
Responder
#2
Hola.

getattr() sería útil si tus entries fueran atributos de una clase. En este caso deberías usar globals():

Código:
globals()[mi_entry].insert(0, "Loquesea")

Una solución más pythonica es simplemente poner los entries dentro de una lista, con lo cual podrás llamarlos individualmente como entries[0], entries[1], etc.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Muchas gracias Francisco!!!!

Había realizado lo de las listas por urgencias que tenía pero me gusta más lo de globals!!!!

GRACIAS
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)