Em computação e telecomunicações, um menu é uma lista de opções ou comandos apresentados a um operador por um computador ou sistema de comunicações . Os menus são, por vezes, hierarquicamente organizado, permitindo uma navegação através de diferentes níveis da estrutura do menu. A seleção de um item do menu com uma seta irá expandi-lo, mostrando um segundo menu (o sub-menu) com opções relacionadas com a entrada selecionada. É possível adicionar outros componentes ao menu como ícones de imagem, um componente de botões de radio e até mesmos botões de cheque.
Menu
O Widget de menu é usado para implementar toplevel, suspensos, e pop-up menus. Este elemento é usado para exibir todos os tipos de menus usado por um aplicativo. Uma vez que esta ferramenta usa código nativo, sempre que possível, você não deve tentar menus falsos usando botões e outros widgets Tkinter.
Exemplo:
Neste exemplo criamos um menu, um sub-menu e um separador de menu.
#!/usr/bin/env python # -*- coding: latin-1 -*- # Desenvolvimento Aberto # Menu.py # importa modulo from Tkinter import * # Cria formulario formulario = Tk() formulario.title = "Desenvolvimento Aberto" # Declara variaves do label txt = StringVar() msg = "Voce clicou no: " # Declara eventos dos itens do menu def menu1_1(): txt.set(msg + "Menu 1, item 1") def menu1_2(): txt.set(msg + "Menu 1, item 2") def menu1_3(): txt.set(msg + "Menu 1, item 3") def menu1_4(): txt.set(msg + "Menu 1, item 4") def menu2_1(): txt.set(msg + "Menu 2, item 1") # Declara label texto = Label(formulario, textvariable= txt ) # Declara menus barraMenu = Menu(formulario) item1Menu = Menu(formulario, tearoff= 0) item2Menu = Menu(formulario, tearoff= 0) subMenu = Menu(formulario, tearoff=0) # Adiciona Itens, SubMenus e Separadores item1Menu.add_command(label = "Item1", command = menu1_1) item1Menu.add_command(label = "Item2", command = menu1_2) item1Menu.add_cascade(label="submenu", menu=subMenu) subMenu.add_command(label = "Item3", command = menu1_3) item1Menu.add_separator() item1Menu.add_command(label = "Item4", command = menu1_4) barraMenu.add_cascade(label = "Menu 1", menu = item1Menu) item2Menu.add_command(label="item1", command= menu2_1) barraMenu.add_cascade(label = "Menu 2", menu = item2Menu) # Adiciona menu ao formulario formulario.config(menu= barraMenu) formulario.geometry("300x200") # Posiciona label no formulario texto.grid(row=1, sticky=W, padx=40, pady=160) # Loop do tcl mainloop()