Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: El mas antiguo en 12 Febrero 2022, 00:35 am



Título: Pasar argumentos a una función saliendo de una caja de texto con <Enter>.
Publicado por: El mas antiguo en 12 Febrero 2022, 00:35 am
Hola gente ¿Cómo están?, bueno x mas que busco no logro dar con la tecla, al salir de la caja
de texto quiero validar la fecha ingresada, bueno es todo, desde ya muchas pero muchas
gracias al que desee ayudarme.-

Código
  1. from tkinter import ttk, messagebox
  2. import tkinter as tk
  3. from datetime import datetime
  4.  
  5. def verificarFecha(self):
  6.    try:
  7.        datetime.strptime(fecha, '%d/%m/%Y')
  8.        print('correcto')
  9.    except ValueError:
  10.        print("\n No ha ingresado una fecha correcta...")
  11.  
  12. root = tk.Tk()
  13. root.config(width=300, height=200)
  14. root.title("Mi aplicación.")
  15.  
  16. fecha = tk.StringVar()
  17. entrada = ttk.Entry(root, textvariable=fecha, font=("Verdana", 12))
  18. entrada.place(x=50, y=50, width=150)
  19. entrada.focus()
  20.  
  21. entrada.bind("<Return>", verificarFecha)
  22.  
  23.  
  24. boton = ttk.Button(root, text="Salir")
  25. boton.place(x=100, y=100, width=80, height=50)
  26.  
  27. root.mainloop()


Título: Re: Pasar argumentos a una función saliendo de una caja de texto con <Enter>.
Publicado por: EdePC en 12 Febrero 2022, 05:13 am
Saludos,

El único detalle es que estás usando un StringVar pero no estás extrayendo su valor correctamente, solo reemplaza tu línea 7 por:

Código
  1.        datetime.strptime(fecha.get(), '%d/%m/%Y')


Título: Re: Pasar argumentos a una función saliendo de una caja de texto con <Enter>.
Publicado por: El mas antiguo en 12 Febrero 2022, 13:51 pm
Hola EdePc, gracias funciona a la perfección, muchas gracias. ☕☕☕