Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Capturar fecha en un Entry y guardar (tkinter)
#1
Hola.

¿Cómo puedo capturar una fecha y una hora de dos Entry, por ejemplo, 05/11/2022 en uno y 23:55 en otro, con estos formatos y guardarlos en un texto para poder recuperarlos después?
Es para guardarlos como srt o algún otro formato que me permita volver a colocarlos en estos mismos Entry cuando me interese.
Quiero guardar datos de un formulario pero no se como capturar formato de fecha y hora.

Gracias.
Responder
#2
Hola.

Del Entry vas a obtener los datos como str, por más que sean horas o fechas (si vos después los querés convertir al tipo de dato fecha de Python, datetime, tenés que hacerlo manualmente. Acá un ejemplo: https://micro.recursospython.com/recurso...fecha.html). Así que lo podés hacer es guardar esa información en un archivo de texto y luego cargarla nuevamente cuando se inicia el programa:

Código:
import tkinter as tk
from tkinter import ttk

def cargar_fecha_y_hora():
    try:
        with open("fecha_y_hora.txt", encoding="utf8") as f:
            fecha, hora = f.read().split("\n")
            entry_fecha.insert(0, fecha)
            entry_hora.insert(0, hora)
    except FileNotFoundError:
        pass

def guardar_fecha_y_hora():
    with open("fecha_y_hora.txt", "w", encoding="utf8") as f:
        f.write(f"{entry_fecha.get()}\n{entry_hora.get()}")

root = tk.Tk()
entry_fecha = ttk.Entry()
entry_fecha.pack()
entry_hora = ttk.Entry()
entry_hora.pack()
button_guardar = ttk.Button(text="Guardar", command=guardar_fecha_y_hora)
button_guardar.pack()
cargar_fecha_y_hora()
root.mainloop()

Si tenés más información que querés guardar en un archivo, tal vez te convenga usar JSON o pickle (especialmente para tipos de datos más complejos) en lugar de texto plano.

Sobre open(), write(), read(), etc., te dejo estos tutoriales: https://tutorial.recursospython.com/entr...-archivos/ y https://recursospython.com/guias-y-manua...-archivos/.

Saludos
Responder
#3
Muchas gracias por responder y tan pronto.
Me sirve muchísimo tu solución. 

Me voy a seguir trabajando...   Smile
Responder
#4
¡De nada! Wink
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)