Tkinter es el paquete GUI (interfaz gráfica de usuario) estándar de Python. Es uno de los paquetes más utilizados para aplicaciones GUI que viene con Python.
Nota: Para obtener más información, consulte Python GUI – tkinter
Widget de menú
Los menús son una parte importante de cualquier GUI. Un uso común de los menús es brindar acceso conveniente a varias operaciones, como guardar o abrir un archivo, salir de un programa o manipular datos. Los menús de nivel superior se muestran justo debajo de la barra de título de la raíz o cualquier otra ventana de nivel superior.
Sintaxis:
menu = Menu(master, **options)
Nota: Para obtener más información, consulte Python | Widget de menú en Tkinter
Menú emergente
Los menús emergentes son menús contextuales que aparecen en la interacción del usuario. Este menú se puede mostrar en cualquier parte de la ventana del cliente. a continuación se muestra el código de Python para crear un menú emergente utilizando la biblioteca Tkinter.
#creating popup menu in tkinter import tkinter class A: #creates parent window def __init__(self): self.root = tkinter.Tk() self.root.geometry('500x500') self.frame1 = tkinter.Label(self.root, width = 400, height = 400, bg = '#AAAAAA') self.frame1.pack() #create menu def popup(self): self.popup_menu = tkinter.Menu(self.root, tearoff = 0) self.popup_menu.add_command(label = "say hi", command = lambda:self.hey("hi")) self.popup_menu.add_command(label = "say hello", command = lambda:self.hey("hello")) self.popup_menu.add_separator() self.popup_menu.add_command(label = "say bye", command = lambda:self.hey("bye")) #display menu on right click def do_popup(self,event): try: self.popup_menu.tk_popup(event.x_root, event.y_root) finally: self.popup_menu.grab_release() def hey(self,s): self.frame1.configure(text = s) def run(self): self.popup() self.root.bind("<Button-3>",self.do_popup) tkinter.mainloop() a = A() a.run()
Producción:
El menú emergente en el código anterior aparece al hacer clic con el botón derecho.
Funciones
- Menú (raíz): crea el menú.
- add_command(etiqueta, comando): agrega los comandos en el menú, el argumento del comando llama a la función hey() cuando se hace clic en esa opción.
- add_separator(): agrega un separador.
- tk_popup(x, y): publica el menú en la posición dada como argumentos
- grab_release(): libera el evento grab
- bind(key, event): enlaza el evento del ratón.