Crear Menu con Tkinter Python

En el siguiente artículo te voy a mostrar cómo Crear Menu con Tkinter Python para crear nuestras aplicaciones avanzadas y mejores estilos

Crear Menu con Tkinter Python

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.

Artículo Anterior Artículo Siguiente