Python - Tkinter Module

Asked

Viewed 535 times

1

inserir a descrição da imagem aqui

I’m almost done with this little program, but what’s happening is this:

in the "Tools" tab creates 2 submenus, in which I wanted to add submenus inside other submenus, I know it’s possible, but I still haven’t found how to do it.

So far I managed to make a "submenu" for the submenu "Languages", wanted if possible that someone help me to create the submenu for the other in the case the "Environment".

From now on I thank you!

from Tkinter import *
import tkFileDialog
import random


class Random:
    def __init__(self):
        janela = Tk()
        janela.geometry("1024x720")
        janela.title("Sorteio de Times")#Aqui é o nome do programa



        lb1 = Label (janela, font=("Tahoma", 10), text="Todos os Direitos Reservados à Del+, entretanto o código está aberto exclusivamente para Programadores Brasileiros. (Atenção: Este programa não pode ser comercializado.)")
        lb1.pack(side=BOTTOM)

        caixa=Frame(janela, borderwidth=3, relief=GROOVE)
        caixa.pack(pady=40)

        lb2 = Label (caixa, font=("Tahoma", 10), text="*Instruções:\n- Clique no Botão Arquivo > Começar. O programa irá criar uma lista vazia para que o usuário possa escrever o nome dos Times a serem sorteados aleatóriamente \n- Em Seguida, depois de ter escrevido os times, Clique em Sortear. (Obs.: Não precisa escrever a lista toda) \n\n*Como Funciona:\n- Só ir clicando em Sortear até sortear todos os Times. \n(Obs.: Além  dos Times serem sorteados aleatóriamente, o programa não deixa os times se repetirem, \nporém quando acabar você pode clicar em Continuar com a mesma Lista ou Criar nova Lista).",  anchor=W, justify=LEFT)
        lb2.pack()





        def Open(): tkFileDialog.askopenfilename()
        def Quit(): janela.destroy()



        menubar = Menu(janela, tearoff=False)
        janela.config(menu=menubar)


        MENUarquivo = Menu(menubar, tearoff=False)
        MENUarquivo.add_command(label="Começar",)
        MENUarquivo.add_command(label="Abrir", command=Open)
        MENUarquivo.add_separator()
        MENUarquivo.add_command(label="Sair", command=Quit)
        menubar.add_cascade(label="Arquivo", menu=MENUarquivo)

        MENUferramentas = Menu(menubar, tearoff=False)
        submenu = Menu(MENUferramentas, tearoff=False)

        MENUferramentas.add_command(label="Linguagens",)
        submenu.add_command(label="Português",)
        submenu.add_command(label="English",)
        submenu.add_command(label="Espanõl",)
        MENUferramentas.add_cascade(label="Linguagens", menu=submenu)

        MENUferramentas.add_command(label="Ambiente",)
        menubar.add_cascade(label="Ferramentas", menu=MENUferramentas)

        MENUajuda = Menu(menubar, tearoff=False)
        MENUajuda.add_command(label="Sobre", command=self.sobre)
        MENUajuda.add_command(label="Como Usar?",)
        menubar.add_cascade(label="Ajuda", menu=MENUajuda)




        bt = Button(janela, width=15, height=2, text="Resetar")
        bt.place(x=10, y=200)

        bt = Button(janela, width=15, height=2, text="Sortear")
        bt.place(x=10, y=310)



        # Por Fim, a janela:
        janela.mainloop()

    def sobre(self):# uma pequena função "sobre"
        root = Tk()
        root.geometry("240x110+70+70")
        root.title("Sobre")

        texto=("Random.v0.1_Estável")
        textONlabel = Label(root, text=texto)
        textONlabel.pack()


        lb2 = Label(root, text="Licença Livre")
        lb2.pack()

Random()
  • Can’t adapt my answer to your case? Victor. What did you want as an environment submenu?

  • I don’t know. but I’ll try

  • help me again..

  • when I’m home I do it ok? I’m on the street now, I can’t test anything/help anything at the moment

  • OK. I’ll be waiting.

  • has how to pass your contact?

Show 1 more comment

1 answer

2


You have to create a menu (add_cascade) also for the menu Ambiente, and then just add the items:

class Random:
    def __init__(self):
        janela = Tk()
        janela.geometry("1024x720")
        janela.title("Sorteio de Times")#Aqui é o nome do programa

        lb1 = Label (janela, font=("Tahoma", 10), text="Todos os Direitos Reservados à Del+, entretanto o código está aberto exclusivamente para Programadores Brasileiros. (Atenção: Este programa não pode ser comercializado.)")
        lb1.pack(side=BOTTOM)

        caixa=Frame(janela, borderwidth=3, relief=GROOVE)
        caixa.pack(pady=40)

        lb2 = Label (caixa, font=("Tahoma", 10), text="*Instruções:\n- Clique no Botão Arquivo > Começar. O programa irá criar uma lista vazia para que o usuário possa escrever o nome dos Times a serem sorteados aleatóriamente \n- Em Seguida, depois de ter escrevido os times, Clique em Sortear. (Obs.: Não precisa escrever a lista toda) \n\n*Como Funciona:\n- Só ir clicando em Sortear até sortear todos os Times. \n(Obs.: Além  dos Times serem sorteados aleatóriamente, o programa não deixa os times se repetirem, \nporém quando acabar você pode clicar em Continuar com a mesma Lista ou Criar nova Lista).",  anchor=W, justify=LEFT)
        lb2.pack()

        def Open(): tkFileDialog.askopenfilename()
        def Quit(): janela.destroy()

        menubar = Menu()
        MENUarquivo = Menu()
        MENUferramentas = Menu()
        MENUlang = Menu()
        MENUajuda = Menu()
        MENUenv = Menu()

        menubar.add_cascade(label="Arquivo", menu=MENUarquivo)
        MENUarquivo.add_command(label="Começar",)
        MENUarquivo.add_command(label="Abrir", command=Open)
        MENUarquivo.add_separator()
        MENUarquivo.add_command(label="Sair", command=Quit)

        menubar.add_cascade(label="Ferramentas", menu=MENUferramentas)
        MENUferramentas.add_cascade(label="Linguagens", menu=MENUlang)
        MENUlang.add_command(label="Português",)
        MENUlang.add_command(label="English",)
        MENUlang.add_command(label="Espanõl",)

        MENUferramentas.add_cascade(label="Ambiente", menu=MENUenv)
        MENUenv.add_command(label="ENV 1",)
        MENUenv.add_command(label="ENV 2",)
        MENUenv.add_command(label="ENV 3",)

        menubar.add_cascade(label="Ajuda", menu=MENUajuda)
        MENUajuda.add_command(label="Sobre", command=self.sobre)
        MENUajuda.add_command(label="Como Usar?",)

        bt = Button(janela, width=15, height=2, text="Resetar")
        bt.place(x=10, y=200)

        bt = Button(janela, width=15, height=2, text="Sortear")
        bt.place(x=10, y=310)

        # Por Fim, a janela:
        janela.config(menu=menubar)
        janela.mainloop()

    def sobre(self):# uma pequena função "sobre"
        root = Tk()
        root.geometry("240x110+70+70")
        root.title("Sobre")

        texto=("Random.v0.1_Estável")
        textONlabel = Label(root, text=texto)
        textONlabel.pack()

        lb2 = Label(root, text="Licença Livre")
        lb2.pack()

Random()
  • Wow, I didn’t even think about it, but here’s the thing:

Browser other questions tagged

You are not signed in. Login or sign up in order to post.