viernes, 5 de abril de 2024

Crear Script en Python para mostrar una imagen

Primero debes instalar python con el path.

luego instala el pilot desde la consola puedes instalar el módulo PIL utilizando pip, que es el sistema de gestión de paquetes de Python. Abre tu terminal o símbolo del sistema y ejecuta el siguiente comando:

pip install Pillow

El módulo PIL se ha renombrado a Pillow, por lo que al instalarlo con pip, estarás instalando la biblioteca Pillow, que es una bifurcación mantenida de PIL y es compatible con las últimas versiones de Python.

Análisis del código Python proporcionado

El código proporcionado utiliza las bibliotecas tkinter, PIL, schedule, time y datetime para mostrar una imagen sobrepuesta en la pantalla a una hora específica.


Explicación paso a paso:

  1. Importación de bibliotecas:

    • tkinter: Se utiliza para crear la interfaz gráfica de usuario (GUI) de la ventana que mostrará la imagen.
    • PIL: Se utiliza para leer y manipular la imagen que se va a mostrar.
    • schedule: Se utiliza para programar la tarea de mostrar la imagen en una hora específica.
    • time: Se utiliza para controlar el tiempo y el ciclo de espera del programa.
    • datetime: Se utiliza para convertir la hora especificada en formato de cadena a un objeto de tiempo.

Abre el editor de python y copia el código:

import tkinter as tk

from PIL import Image, ImageTk

import schedule

import time

import datetime


def mostrar_imagen_sobrepuesta(ruta_imagen):


    print(f"Mostrando imagen: {ruta_imagen}")


    ventana = tk.Toplevel()


    ventana.overrideredirect(True)


    ventana.attributes("-topmost", True)


    ventana.geometry("+0+0")


    imagen = Image.open(ruta_imagen)


    imagen = imagen.resize((ventana.winfo_screenwidth(), ventana.winfo_screenheight()))


    imagen_tk = ImageTk.PhotoImage(imagen)


    etiqueta = tk.Label(ventana, image=imagen_tk)


    etiqueta.pack()


    ventana.update()  # Actualizar la ventana para mostrar la imagen


    def cerrar_ventana(event):


        ventana.destroy()


    etiqueta.bind("<Button-1>", cerrar_ventana)


    # No cerrar automáticamente la ventana


    # ventana.after(10000, ventana.destroy)


def programar_tarea_mostrar_imagen(ruta_imagen, hora_str):


    hora = datetime.datetime.strptime(hora_str, "%H:%M").time()


    hora_str_format = hora.strftime("%H:%M")


    schedule.every().day.at(hora_str_format).do(mostrar_imagen_sobrepuesta, ruta_imagen)


# Programar la tarea para mostrar la imagen


ruta_imagen = "E:/python/salud.jpg"  # Ruta de la imagen


hora_str = "10:51"  # Hora en formato HH:MM


programar_tarea_mostrar_imagen(ruta_imagen, hora_str)


print("Script iniciado. Esperando la hora programada...")


while True:


    schedule.run_pending()


    time.sleep(1)


    

Guardalo terminado en .py y ejecutalo desde la consola 

0 comentarios:

Publicar un comentario