miércoles, 31 de octubre de 2018

Unidad No.3: Practica #20: Mostrando imagenes al azar con sonido y etiquetas

Archivo de Python:


Ejecución del programa:

Nota: Se recomienda descargar el archivo desde el link proporcionado y ejecutarlo desde un IDE como pycharm para verificar los sonidos que se escuchan al momento de ejecutar el programa


Código: 
from Tkinter import * #para crear la GUI
from PIL import Image, ImageTk #despliegue de imagenes
import os #para dar una ruta path de una carpeta o directorio
import random #para seleccionar y dar numeros aleatorios
import pygame
import threading

dir = os.path.dirname(__file__) #lo utilizo para dar una ruta de donde estan mis imagenes
fotos = dir + "/Imagenes/"
Csonido=dir + "/Sonidos8/" #establece la ruta hacia los sonidos
root = Tk() #lo uso para la ventana de app de tkinter

arreglo = [1,2,3,4,5,6,7,8] #crear un areglo con el numero de las imagenes
eleccion_aleatoria = str(arreglo.index(random.choice(arreglo))+1) #se toma un elemento del array al azar y se hace string
figura = fotos + eleccion_aleatoria + ".png" #asignas la extension png a al imagen
sonido = Csonido + eleccion_aleatoria + ".mp3"

def reproducirsonido(sonido):
    pygame.init()
    pygame.mixer.music.load(sonido)
    pygame.mixer.music.play()

#Como despliego el archivo en la ventana tk
img = Image.open(figura) #va a la ruta de la imagen y la abre
tkimage = ImageTk.PhotoImage(img) #despliega la imagen
etiqueta = Label(root,image=tkimage,command=reproducirsonido(sonido)) #la imagen se pone en una etiqueta
etiqueta.pack() #la etiqueta se despliega

imagenes=["Cat","Dog","House","Pencil","Holy Hand Granade","3D","Flower","Car"]
nombre_img = Label(text = imagenes [int (eleccion_aleatoria)-1],font=("Times New Roman",20,"bold")).place(x=100,y=300)

root.geometry("500x500")
root.mainloop()

No hay comentarios:

Publicar un comentario