Menús Desplegables en Python con Tkinter

En esta entrada, se explicará como generar menús desplegables como los que trae cualquier aplicación tradicional de ventanas. Pero en esta ocasión hechas con python y la librería de interfaz gráfica de usuario tkinter. A continuación se desplegará un código en python que permite generar tres menús, sus opciones y su separador.
from Tkinter import *
import tkMessageBox as msn
vntana = Tk()
def demo():
  print "Hola desde un menu"

menubarra = Menu(vntana)
menuarchivo = Menu(menubarra, tearoff=0)
menuarchivo.add_command(label="Abrir", command=demo)
menuarchivo.add_command(label="Guardar",command=demo)
menuarchivo.add_separator()
menuarchivo.add_command(label="Salir",command=vntana.quit)
menubarra.add_cascade(label="Archivo",menu=menuarchivo)

menueditar=Menu(menubarra,tearoff=0)
menueditar.add_command(label="Cortar",command=demo)
menueditar.add_command(label="Copiar",command=demo)
menueditar.add_command(label="Pegar",command=demo)
menubarra.add_cascade(label="Editar",menu=menueditar)
menuayuda = Menu(menubarra, tearoff=0)
menuayuda.add_command(label="Acerca de...", command=demo)
menubarra.add_cascade(label="Ayuda",menu=menuayuda)

vntana.config(menu=menubarra)

vntana.mainloop()

En el código anterior se muestras las líneas que permiten crear una ventana con menús desplegables, la acción que tiene cada vez que se pulsa sobre alguna opción del menú es mandar a imprimir una salida a la consola. A modo de ejemplo. El resultado final se puede apreciar en la imagen 1.1

Imagen 1.1 Menú desplegable en python con tkinter.

La linea menubarra = Menu(vntana) permite instanciar la propiedad menú de tkinter en la ventana (variable vntana) .

La linea menueditar=Menu(menubarra,tearoff=0) Se establece la barra de menú, desde que se inicie el programa. 

La linea menuarchivo.add_command(label=»Abrir», command=demo) permite agregar etiquetas y acciones en cada menú que se cree. Para agregar el nombre que se quiera en el menú se debe de agregar entre comillas y después del igual del label; para que se ejecute las acciones que debe de realizarse es en el command, es decir, después del igual debe de colocarse el nombre de la función que vaya a ejecutarse en ese menú.

La línea menubarra.add_cascade(label=»Archivo»,menu=menuarchivo) es la que va a indicar donde se van agregar todos las opciones del menú que se creén.

La línea: menuarchivo.add_separator(). Permite agregar separadores entre cada opción que se brinde en el menú para hacer eso hay que usar Como se puede observar el metodo «add_separator()» agrega al menú de archivo una linea divisora entre las opciones que se desee.

La línea menubarra.add_cascade(label=»Archivo»,menu=menuarchivo) permite agregar el nombre del menú que desplegará las opciones anteriormente descritas.