es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo utilizar Tk Entry con def correctamente?

Estoy aprendiendo Python por mí mismo y tengo un problema con las etiquetas tk.Entry. Hice una def para ellas y aquí está el problema de que list1 y list2 no se están agregando como esperaba. El programa debe funcionar de esa manera, después de presionar el botón, las palabras de WEntry y MEntry se agregarán a las listas, se mostrarán en la pantalla junto a la etiqueta “cola” y las etiquetas de entrada se limpiarán. La limpieza de las etiquetas de entrada está bien, funcionó, ¿pero por qué no se está agregando?

def Queue_Insert():
   Word = WEntry.get()
   Mean = MEntry.get()
   List_1.append(Word)
   List_2.append(Mean)
   WEntry.delete(0, 'end')
   MEntry.delete(0, 'end')

WMButton = tk.Button(root, width=25, text ="Insertar en cola", font =("Courier",8), bg ="peru", command=Queue_Insert) 
WMButton.grid(row=1, column=4, padx = 10)

Intenté con str(WEntry.get()) pero no cambió nada. ¿Qué estoy haciendo mal?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema en el código proporcionado es que las listas List_1 y List_2 no están definidas o inicializadas antes de llamar a la función Queue_Insert(). Por lo tanto, al intentar agregar valores a estas listas, Python muestra un error ya que las listas no existen.

    Para solucionar esto, inicializa las dos listas antes de llamar a la función Queue_Insert(), por ejemplo:

    List_1 = []
    List_2 = []
    
    def Queue_Insert():
       Word = WEntry.get()
       Mean = MEntry.get()
       List_1.append(Word)
       List_2.append(Mean)
       WEntry.delete(0, 'end')
       MEntry.delete(0, 'end')
    

    De esta manera, el programa debería funcionar como se espera y agregar los valores a las dos listas después de presionar el botón.

Comments are closed.