En el siguiente artículo te voy a mostrar cómo Crear Menu con Tkinter Python para crear nuestras aplicaciones avanzadas y mejores estilos
En el desarrollo de aplicaciones de escritorio o dispositivos móviles es muy importante el diseño creado para los diferentes usuarios. En esta ocasión se enseña las diferentes configuraciones para crear nuestros menus personalizados con Tkinter y Python de acuerdo a las necesidades de nuestro programa.
Creando una Ventana con Tkinter Python
El primer paso es crear las ventanas donde vamos a ubicar los widgets de Tkinter. Para ello usaremos el siguiente código de un programa sencillo.
import tkinter as tk
ventana = tk.Tk()
main_text = tk.StringVar(value='¡Hola a todos!')
label = tk.Label(ventana, textvariable=main_text)
label.pack()
ventana.mainloop()
Añadir el Menu en Tkinter Python
Ahora vamos a agregar el menu en la pantalla que declaramos anteriormente. Añade el siguiente código antes de ventana.mainloop() Para agregar un botón que al dar clic en el ejcuta el comando de salida de la app:
main_menu = tk.Menu(ventana)
ventana.config(menu=main_menu)
main_menu.add('command', label='Quit', command=ventana.quit)
Con los códigos anteriores hemos añadido un menú a nuestra ventana de Tkinter Python, Ahora vamos a presentar un label en nuestra pantalla para darle un poquito más presentación a nuestra aplicación en tkinter con python.
main_text = tk.StringVar(value='Hola a todos')
label = tk.Label(ventana, textvariable=main_text)
label.pack()
Después de haber añadido los códigos para agregar nuestro menú a la ventana de Tkinter Python nos va a quedar así:
import tkinter as tk
ventana = tk.Tk()
main_menu = tk.Menu(ventana)
ventana.config(menu=main_menu)
main_menu.add('command', label='Salir', command=ventana.quit)
main_text = tk.StringVar(value='Hola a todos')
label = tk.Label(ventana, textvariable=main_text)
label.pack()
ventana.mainloop()
Tkinter Menu : Mostrar Ventanas
Ahora vamos a declarar un función que al ejecutarse nos crea una nueva pantalla de nivel tk.Toplevel(ventana).
def mostrar_hola_mundo():
nueva_ventana = tk.Toplevel(ventana)
mensaje = tk.Label(nueva_ventana, text="¡Hola Mundo!")
mensaje.pack()
Luego añadimos un nuevo nuevo menu desplegable que nos va a mostrar una nueva ventana al dar click en el.
nuevo_menu = tk.Menu(main_menu, tearoff=0)
main_menu.add_cascade(label="Otro Menu", menu=nuevo_menu)
nuevo_menu.add('command', label='Mostrar Hola Mundo', command=mostrar_hola_mundo)
El código completo quedaría de la siguiente forma:
import tkinter as tk
ventana = tk.Tk()
def mostrar_hola_mundo():
nueva_ventana = tk.Toplevel(ventana)
mensaje = tk.Label(nueva_ventana, text="¡Hola Mundo!")
mensaje.pack()
main_menu = tk.Menu(ventana)
ventana.config(menu=main_menu)
main_menu.add('command', label='Salir', command=ventana.quit)
nuevo_menu = tk.Menu(main_menu, tearoff=0)
main_menu.add_cascade(label="Otro Menú", menu=nuevo_menu)
nuevo_menu.add('command', label='Mostrar Hola Mundo', command=mostrar_hola_mundo)
main_text = tk.StringVar(value='Hola a todos')
label = tk.Label(ventana, textvariable=main_text)
label.pack()
ventana.mainloop()
En el código anterior hemos agregado un menu en forma de cascada, al dar click en la opción Otro Menu nos despega otro menu con la opción Mostrar Hola Mundo
De la misma forma podemos agregar más funciones a nuestros Menus en Tkinter Python, desde un menú para crear, guardar o generar archivos, hasta otros más complejos como encriptar datos. Hemos visto que crear menú con tkinter Python es muy fácil por ello te Recomiendo a crear aplicaciones todo con tkinter de Python.