Foros del Web » Programando para Internet » Python »

Tecla Enter/Intro en Tkinter

Estas en el tema de Tecla Enter/Intro en Tkinter en el foro de Python en Foros del Web. Hola. Tengo un caja de texto que pide usuario, y otra de contraseña. ¿Cómo hago para que al pulsar la tecla Intro haga lo que ...
  #1 (permalink)  
Antiguo 21/09/2011, 19:12
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 13 años, 2 meses
Puntos: 0
Tecla Enter/Intro en Tkinter

Hola. Tengo un caja de texto que pide usuario, y otra de contraseña. ¿Cómo hago para que al pulsar la tecla Intro haga lo que hace el botón?
  #2 (permalink)  
Antiguo 21/09/2011, 19:34
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Tecla Enter/Intro en Tkinter

Simplemente vinculas el evento de presionar la tecla enter a alguna función.

Aquí hay un ejemplo.
  #3 (permalink)  
Antiguo 21/09/2011, 19:52
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Tecla Enter/Intro en Tkinter

Código:
claveinicial.bind('<Return>', autenticar)
"claveinicial" es el campo Entry de la contraseña. "autenticar" es la misma función que ejecuta el botón.



Código:
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
TypeError: autenticar() takes no arguments (1 given)
  #4 (permalink)  
Antiguo 21/09/2011, 20:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Tecla Enter/Intro en Tkinter

Creo que deberías empezar a leer tu código y no simplemente andar copiando y pegando código de distintas fuentes.

Si leíste el ejemplo, cuando vinculas tienes que vincularlo a una función que reciba un parámetro.

Entonces debiste de vincularla a una función que reciba al menos un parámetro y luego llamar a tu función de autenticar.
  #5 (permalink)  
Antiguo 21/09/2011, 20:42
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Tecla Enter/Intro en Tkinter

Listo, gracias.


Y todo por un parámetro en la función...
  #6 (permalink)  
Antiguo 21/09/2011, 20:53
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Tecla Enter/Intro en Tkinter

Ah, momento. Eso hizo que dejara de funcioanr el botón.

Ahora ocurre todo lo contrario:
Código:
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
TypeError: autenticar() takes exactly 1 argument (0 given)
¿Y ahora cómo se supone que le doy un argumento al botón (command=autenticar)?

(Disculpen mi ignorancia)
  #7 (permalink)  
Antiguo 21/09/2011, 21:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Tecla Enter/Intro en Tkinter

Bueno eso es normal por que no estas leyendo código, si no que estas simplemente copiando y pegando código.

Te daré un ejemplo, pero la próxima vez, lee e investiga.

Código Python:
Ver original
  1. from Tkinter import *
  2.  
  3. root = Tk()    
  4. top = Frame(root)
  5. top.pack()
  6.  
  7. label = Label(top, text='Entrada')
  8. entry = Entry(top)
  9. button = Button(top, text="Presioname")
  10.  
  11. label.pack()
  12. entry.pack()
  13. button.pack()
  14.  
  15. def onEnter(event):
  16.     funcion()
  17.  
  18. def funcion():
  19.     print entry.get()
  20.    
  21. entry.bind('<Return>', onEnter)
  22. button.config(command=funcion)
  23.  
  24. root.mainloop()

Te daré un consejo, aprender primero lo básico ya sea de Python o del framework y después empieza a programar. De lo contrario solo estarás copiando código y cayendo en errores muy simples por que no sabes que es lo que estas haciendo.
  #8 (permalink)  
Antiguo 23/09/2011, 15:19
Avatar de saulortega  
Fecha de Ingreso: septiembre-2011
Ubicación: Bogotá
Mensajes: 79
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Tecla Enter/Intro en Tkinter

Muchas gracias, y perdona la molestia... no lo había entendido... Una función que llama a otra función.

Etiquetas: enter, tecla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:11.