TransWikia.com

Menu no módulo Tkinter Python

Stack Overflow em Português Asked by Antônio Gally on December 2, 2020

Olá, estou com uma tela que foi feita em Tkinter e possuo um menu com submenus em cascata, o que eu preciso fazer é mostrar as diferentes informações dos submenus sem precisar criar várias outras telas usando funções. É possível? Se sim, como?
Segue o código abaixo:

inicio

from tkinter import *

def donothing():
    print("OH yeah")

def tela_config():
    global janela_config
    janela_config = Tk()
    janela_config.geometry("400x400+600+300")
    janela_config.title("Configurações")

MENU

barra_menu = Menu(janela_config)
janela_config.config(menu = barra_menu)

menu_versao = Menu(barra_menu)
barra_menu.add_cascade(label = "Versão", menu = menu_versao)
menu_versao.add_command(label = "Sobre", command = donothing)
menu_versao.add_separator()
menu_versao.add_command(label = "Sair", command = donothing)

menu_editar = Menu(barra_menu)
barra_menu.add_cascade(label = "Editar", menu = menu_editar)
menu_editar.add_command(label = "Login", command = donothing)
menu_editar.add_command(label = "Email", command = donothing)
menu_editar.add_command(label = "Senha", command = donothing)
menu_editar.add_command(label = "Função", command = donothing)

menu_ajuda = Menu(barra_menu)
barra_menu.add_cascade(label = "Ajuda", menu = menu_ajuda)
menu_ajuda.add_command(label = "Manual", command = donothing)
menu_ajuda.add_separator()
menu_ajuda.add_command(label = "Contato", command = donothing)

FIM_MENU

lb1 = Label(janela_config, text = "Nome:", font = "Arial 16")
lb2 = Label(janela_config, text = "Login:", font = "Arial 16")
lb3 = Label(janela_config, text = "Email:", font = "Arial 16")
lb4 = Label(janela_config, text = "Senha:", font = "Arial 16")
lb5 = Label(janela_config, text = "Função:", font = "Arial 16")
lb6 = Label(janela_config, text = "Data:", font = "Arial 16")
lb7 = Label(janela_config, text = "ID:", font = "Arial 16")

lb1.place(x = 0, y = 0)
lb2.place(x = 0, y = 30)
lb3.place(x = 0, y =60)
lb4.place(x = 0, y = 90)
lb5.place(x = 0, y = 120)
lb6.place(x = 0, y = 150)
lb7.place(x = 0, y = 180)

tela_config()

One Answer

Como assim? um menu dentro de um menu? isso é bem simples

from tkinter import*
janela = Tk()
def comando():
     print('apertou')
itens_menu = Menu(janela)
itens_menu2 = Menu(janela, tearoff = 0)
submenu_nome = Menu(janela, tearoff = 0)
submenu_emails = Menu(janela, tearoff = 0)
itens_menu2.add_cascade(label = 'Nomes', menu = submenu_nome)
itens_menu2.add_cascade(label = 'Emails', menu = submenu_emails)
submenu_nome.add_command(label = 'Matheus', command = comando)
submenu_nome.add_command(label = 'João', command = comando)
submenu_emails.add_command(label = '[email protected]', command = comando)
submenu_emails.add_command(label = '[email protected]', command = comando)
itens_menu.add_cascade(label = 'Menu', menu = itens_menu2)

Answered by Deukaus on December 2, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP