From 85f29d799100b090243af4b6ac5d15eabf58ad33 Mon Sep 17 00:00:00 2001 From: sheila Date: Fri, 8 Dec 2023 17:46:30 +0000 Subject: [PATCH] Actualizar 'README.md' --- README.md | 92 +++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 797da7e..ba9c9aa 100644 --- a/README.md +++ b/README.md @@ -36,67 +36,68 @@ He intentado que el cuadro de menú salga centrado en la pantalla del ordenador, ----------------------------------- CÓDIGO FUENTE: ----------------------------------- +
+```python
 import tkinter as tk
 from tkinter import simpledialog, messagebox
 import os
 import subprocess
 
-
 def reproducir_musica(enlace=None):
    if enlace:
         subprocess.Popen(["start", "", enlace], shell=True)
    else:
         subprocess.Popen(["start", "wmplayer"], shell=True)
 
-
 def abrir_navegador(enlace=None):
     if enlace:
         os.system(f'start chrome "{enlace}"')
     else:
         os.system('start chrome')
 
-
 def abrir_documento(enlace=None):
      if enlace:
         subprocess.Popen(["notepad.exe", enlace])
      else:
         subprocess.Popen(["notepad.exe"])
-       
+
 def confirmar_salida(root):
     respuesta = messagebox.askyesno("Confirmar salida", "¿Seguro deseas salir del menú?")
     if respuesta:
-        root.destroy()        
-
+        root.destroy()
 
 def mostrar_menu():
     root = tk.Tk()
     root.title("Lanzador de Aplicaciones")
 
-
     ancho_pantalla = root.winfo_screenwidth()
     alto_pantalla = root.winfo_screenheight()
 
-
     x = (ancho_pantalla - root.winfo_reqwidth()) // 2 - 120
     y = (alto_pantalla - root.winfo_reqheight()) // 2 - 120
 
-
     root.geometry(f"500x400+{x}+{y}")
-   
+
     label_titulo = tk.Label(root, text="Menú Lanzador de Aplicaciones", font=("Courier New", 14, "bold"))
     label_titulo.pack(pady=15)
 
-
     def ejecutar_opcion(opcion):
         if opcion in [1, 2, 3]:
-            enlace = simpledialog.askstring("Enlace", "Introduce el enlace o ruta al archivo (o deja en blanco):")
-           
+            mensaje = ""
+            if opcion == 1:
+                mensaje = "Has elegido Reproducir música"
+            elif opcion == 2:
+                mensaje = "Has elegido Abrir Navegador" 
+            elif opcion == 3:
+                mensaje = "Has elegido Abrir Documento"       
+            enlace = simpledialog.askstring("Enlace", mensaje + "\nIntroduce el enlace o ruta al archivo (o deja en blanco):")
+
             if enlace is None:
                 return
-           
+
         else:
             enlace = None
-       
+
         if opcion == 1:
             reproducir_musica(enlace)
         elif opcion == 2:
@@ -106,23 +107,22 @@ def mostrar_menu():
         elif opcion == 4:
             confirmar_salida(root)
 
-
     btn_reproducir_musica = tk.Button(root, text="Reproducir Música", command=lambda: ejecutar_opcion(1), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#E2F0FB')
     btn_abrir_navegador = tk.Button(root, text="Abrir Navegador", command=lambda: ejecutar_opcion(2), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#E2FBE8')
     btn_abrir_documento = tk.Button(root, text="Abrir Documento", command=lambda: ejecutar_opcion(3), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#FAFBE2')
     btn_salir = tk.Button(root, text="Salir", command=lambda: ejecutar_opcion(4), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#F4E2FB')
 
-
     btn_reproducir_musica.pack(pady=10) 
     btn_abrir_navegador.pack(pady=10)
     btn_abrir_documento.pack(pady=10)
     btn_salir.pack(pady=10)
 
+    root.mainloop()
 
-    root.mainloop() 
-
-
+# Llamamos a la función principal para mostrar el menú
 mostrar_menu()
+```
+
@@ -130,26 +130,24 @@ mostrar_menu() Este es el mismo código fuente, pero esta vez comentando cada línea para saber por qué se ha utilizado y para qué sirve. De esta manera se entiende mejor cómo se logra crear cada parte y su funcionalidad. - +
+```python
 
 import tkinter as tk #importamos la librería tkinter para crear interfaces gráficas de manera sencilla
 from tkinter import simpledialog, messagebox #importamos la librería simpledialog para crear el cuadro de diálogo para ingresar el enlace tras elegir una de las 3 primeras opciones del menú y la librería messagebox para crear el cuadro de diálogo para confirmar la salida del menú si pulsamos la opción 4.
 import os #importamos la librería os para poder ejecutar los comandos de windows, como abrir el navegador, esta manera es más sencilla que la de la librería subprocess, que no siempre funciona.
 import subprocess #importamos la librería subprocess para poder ejecutar comandos de windows. También permite ejecutar comandos externos, interactuar con ellos y obtener resultados. Ofrece más control y funcionalidades, pero es más compleja que la librería os. En este caso la utilizaremos para abrir el reproductor y el bloc de notas.
 
-
 #posible_enlace_musica = "C:/Users/Sheila/Desktop/music/surrenderchristinaperri.mp3"
 #enlace_navegador = "https://www.youtube.com/watch?v=Ui3G7Anma0k&ab_channel=ChristinaPerri"
 #posible_enlace_archivo_texto = "C:/Users/Sheila/Documents/hola.txt"
 
-
 #Esta función nos permitirá reproducir música en el reproductor de windows, si no indicamos ningún enlace de ruta a una canción concreta del disco, se abrirá el reproductor por defecto
 def reproducir_musica(enlace=None): #con el parámetro enlace=None indicamos que si no se indica ningún enlace, se abrirá el reproductor por defecto
    if enlace:
-        subprocess.Popen(["start", "", enlace], shell=True) #la librería subprocess se utiliza en casos de necesitar un mayor control sobre el proceso o si estás realizando operaciones más complejas. En estos casos podríamos también hacer uso de os
+        subprocess.Popen(["start", "", enlace], shell=True) #la librería subprocess se utiliza en casos de necesitar un mayor control sobre el proceso o si estás realizando operaciones más complejas. En estos casos podríamos también hacer uso de os 
    else:
-        subprocess.Popen(["start", "wmplayer"], shell=True)
-
+        subprocess.Popen(["start", "wmplayer"], shell=True) 
 
 #Esta función nos permitirá abrir el navegador, si no indicamos ningún enlace se abrirá google chrome por defecto
 def abrir_navegador(enlace=None):
@@ -158,59 +156,61 @@ def abrir_navegador(enlace=None):
     else:
         os.system('start chrome')
 
-
-#Esta función nos permitirá abrir un documento de texto en el bloc de notas (notepad), si no indicamos ningún enlace se abrirá un documento en blanco
+#Esta función nos permitirá abrir un documento de texto en el bloc de notas (notepad), si no indicamos ningún enlace se abrirá un documento en blanco 
 def abrir_documento(enlace=None):
      if enlace:
         subprocess.Popen(["notepad.exe", enlace])
      else:
         subprocess.Popen(["notepad.exe"])
 
-
-#Esta función nos permitirá confirmar la salida del menú si pulsamos el botón "Salir" o cerramos la ventana      
-def confirmar_salida(root):
-    respuesta = messagebox.askyesno("Confirmar salida", "¿Seguro deseas salir del menú?")
+#Esta función nos permitirá confirmar la salida del menú si pulsamos el botón "Salir" o cerramos la ventana       
+def confirmar_salida(root): #con el parámetro root indicamos que la función recibirá como parámetro la ventana principal de la aplicación (el menú)
+    respuesta = messagebox.askyesno("Confirmar salida", "¿Seguro deseas salir del menú?") # La función askyesno devuelve True si el usuario hace clic en "Sí" y False si hace clic en "No". La respuesta se guardará en la variable respuesta.
     if respuesta:
         root.destroy()        
 
-
 #Esta es la función principal para mostrar el menú de opciones. Lo mostramos en una ventana con la librería tkinter, de esta manera es más visual y fácil de utilizar que por terminal.
 def mostrar_menu():
     root = tk.Tk() #creamos la ventana principal de la aplicación con la función tk() de la librería tkinter
     root.title("Lanzador de Aplicaciones") #le damos un título a la ventana
 
-
     # Obtenemos el tamaño de la pantalla del usuario/a para centrar la ventana
     ancho_pantalla = root.winfo_screenwidth()
     alto_pantalla = root.winfo_screenheight()
 
-
     # Calculamos la posición para centrar la ventana en la pantalla
     x = (ancho_pantalla - root.winfo_reqwidth()) // 2 - 120
     y = (alto_pantalla - root.winfo_reqheight()) // 2 - 120
 
-
     # Establecemos la posición de la ventana en la pantalla
     root.geometry(f"500x400+{x}+{y}")
-   
+    
      # Añadimos un título antes del menú de opciones
     label_titulo = tk.Label(root, text="Menú Lanzador de Aplicaciones", font=("Courier New", 14, "bold"))
     label_titulo.pack(pady=15)
 
-
     def ejecutar_opcion(opcion):
         if opcion in [1, 2, 3]:  # Si pulsamos una de las 3 primeras opciones mostramos el cuadro de diálogo para ingresar enlace (o dejar vacío).
+            mensaje = ""
+            if opcion == 1:
+                mensaje = "Has elegido Reproducir música"
+            elif opcion == 2:
+                mensaje = "Has elegido Abrir Navegador" 
+            elif opcion == 3:
+                mensaje = "Has elegido Abrir Documento"       
+            enlace = simpledialog.askstring("Enlace", mensaje + "\nIntroduce el enlace o ruta al archivo (o deja en blanco):")
+           
             #aquí creamos el cuadró de diálogo para ingresar el enlace si lo tenemos, se abrirá el archivo indicado, y en el caso del navegador se abrirá la página ingresada. Si no ingresamos nada se abrirán por defecto los programas o google chrome en el caso del navegador
             enlace = simpledialog.askstring("Enlace", "Introduce el enlace o ruta al archivo (o deja en blanco):")
-           
+            
              #si el usuario pulsa "Cancelar" o cierra la ventana sin ingresar ningún valor, la función devuelve None y esto cierra la ventada de diálogo sin hacer nada más  
             if enlace is None:
                 return
-           
+            
         else: #si no pulsamos ninguna de las 3 primeras opciones, no necesitamos ingresar ningún enlace
             enlace = None
         #ejecutamos la opción elegida
-        if opcion == 1:
+        if opcion == 1: 
             reproducir_musica(enlace)
         elif opcion == 2:
             abrir_navegador(enlace)
@@ -218,8 +218,7 @@ def mostrar_menu():
             abrir_documento(enlace)
         elif opcion == 4:
             confirmar_salida(root)
-                   
-
+                    
 
     # Creamos botones para cada opción, de este modo la elección del menú es más intuitiva y sencilla. Les damos un estilo personalizado eligiendo la fuente, el tamaño, el color de fondo y el color del texto.
     btn_reproducir_musica = tk.Button(root, text="Reproducir Música", command=lambda: ejecutar_opcion(1), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#E2F0FB')
@@ -227,20 +226,21 @@ def mostrar_menu():
     btn_abrir_documento = tk.Button(root, text="Abrir Documento", command=lambda: ejecutar_opcion(3), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#FAFBE2')
     btn_salir = tk.Button(root, text="Salir", command=lambda: ejecutar_opcion(4), height=2, width=20, font=("Courier New", 12), padx=10, pady=5, borderwidth=5, foreground='black', background='#F4E2FB')
 
-
     # Colocamos los botones en la ventana, con un padding vertical de 10 px entre ellos
     btn_reproducir_musica.pack(pady=10) #.pack es una función de la librería tkinter que nos permite colocar los botones en la ventana, y lo hace de manera automática
     btn_abrir_navegador.pack(pady=10)
     btn_abrir_documento.pack(pady=10)
     btn_salir.pack(pady=10)
 
-
     root.mainloop() #con esta función hacemos que la ventana se mantenga abierta hasta que el usuario/a pulse el botón de "Salir" o cierre la ventana
 
-
 # Llamamos a la función principal para mostrar el menú
 mostrar_menu()
 
+```
+
+ + ----------------------------------- CAPTURA DE IMÁGENES PARA VER RESULTADOS DEL PROGRAMA -----------------------------------