-
Total de itens
5 -
Registro em
-
Última visita
Sobre Rhaone da Silva
Rhaone da Silva's Achievements
0
Reputação
-
Olá pessoal ... o erro abaixo acontece porque estou tentando associar um ítem de array a um objeto de Menu do Tkinter ... Tem alguma forma de isso acontecer ou o Python não tem suporte para isso? ... obrigado ... Obs.: reduzi o código original para este fórum afim de facilitar o entendimento sendo que o mesmo foi testado também. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Já tentei ... exec ("%s = %s" % (objeto, Opcao [0])) objeto = locals()[Opcao [0]] objeto = globals()[Opcao [0]] objeto.add_cascade (label = objeto, menu = result) objeto.add_cascade (label = str (objeto), menu = objeto) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $ Traceback (most recent call last): File "/home/mint/PYTHON/TESTES/TESTES.PY", line 71, in <module> app = My_Root (root) File "/home/mint/PYTHON/TESTES/TESTES.PY", line 49, in __init__ objeto = globals()[Opcao [0]] KeyError: 'Opcao_0' ^C $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #!/usr/bin/python from tkinter import * class My_Root (Frame): def __init__ (self, master): menubar = Menu (root) root.config (menu = menubar) self.master = master self.root = Toplevel (self.master) self.root.title ('Python - RHAONE') self.root.geometry ('300x200') self.button = Button (self.master, text = 'Exit', command = self.root.quit) self.button.place (x = 150, y = 100) Opcao = [] Opcao.append ('Opcao_0') Opcao.append ('Opcao_1') Opcao.append ('Opcao_2') Opcao_0 = Menu (menubar, tearoff = False) Opcao_0.add_command (label = ' Opcao_0_Ok', command = root.quit) objeto = globals()[Opcao [0]] objeto = Menu (menubar, tearoff = False) objeto.add_cascade (label = str (objeto), menu = str (objeto)) if __name__ == '__main__': root = Tk () app = My_Root (root) root.mainloop ()
-
Tkinter com ítens de menu oriundos de um arquivo texto ...
pergunta respondeu ao Rhaone da Silva de Rhaone da Silva em Python
ArteEN ... RESOLVIDO! ... O PROBLEMA ERA MESMO DE ORDEM ... "O ERRO ESTAVA NA CHAMADA PREMATURA DO ROOT.MAINLOOP (), ESSE COMANDO DEVE SER O ULTIMO DO SCRIPT" ... GRATO PELO AUXILIO ...- 3 respostas
-
Tkinter com ítens de menu oriundos de um arquivo texto ...
pergunta respondeu ao Rhaone da Silva de Rhaone da Silva em Python
CERTO AMIGO ... VOU AVERIGUAR ... OBRIGADO ...- 3 respostas
-
Tkinter com ítens de menu oriundos de um arquivo texto ...
uma questão postou Rhaone da Silva Python
Olá, parceiros. Tkinter com ítens de menu oriundos de um arquivo texto ... A minha intenção é de criar um menu a partir de um arquivo texto onde não haja a necessidade de mexer no script quando houver uma nova linha no arquivo texto. Penso que o erro ocorre por eu estar tentando atribuir um ítem de tabela (array) a um objeto mas não sei como solucionar. Se algo do tipo é possível gostaria de saber dos parceiros uma alternativa a que venho tentando sem sucesso conforme o script em anexo que resumi afim de facilitar o entendimento. # NA LINHA ABAIXO OCORRE ==> 'can't invoke "menu" command: application has been destroyed' texto_dest_tab[0]=Menu(menubar, tearoff=False) Grato a todos. Rhaone da Silva #-------------------------------------------------------------------------- #!/usr/bin/python ''' # /home/mint/menu.py + /home/mint/menu.txt /home/mint/menu.txt ... Linha 0 Linha 1 Linha 2 ''' #-------------------------------------------------------------------------- #import tkinter as tk from tkinter import * #-------------------------------------------------------------------------- root=Tk() root.title('Python - Menu de Texto') root.geometry('300x200') menubar=Menu(root) root.config(menu=menubar) root.mainloop() #-------------------------------------------------------------------------- texto_ponteiro=open('/home/mint/menu.txt','r') texto_orig_tab=texto_ponteiro.readlines() texto_dest_tab=[] #-------------------------------------------------------------------------- for texto_orig_tab_linha in texto_orig_tab: texto_dest_tab.append(texto_orig_tab_linha) texto_ponteiro.close() #-------------------------------------------------------------------------- # NA LINHA ABAIXO OCORRE ==> 'can't invoke "menu" command: application has been destroyed' texto_dest_tab[0]=Menu(menubar, tearoff=False) texto_dest_tab[0].add_command(label='Linha 0 Ok',command=root.quit) #-------------------------------------------------------------------------- texto_dest_tab[1]=Menu(menubar, tearoff=False) texto_dest_tab[1].add_command(label='Linha 1 Ok',command=root.quit) #-------------------------------------------------------------------------- texto_dest_tab[2]=Menu(menubar, tearoff=False) texto_dest_tab[2].add_command(label='Linha 2 Ok',command=root.quit) #-------------------------------------------------------------------------- texto_menu_obj=Menu(menubar, tearoff=False) texto_menu_obj.add_cascade(label='Linha 0',menu=texto_dest_tab[0]) texto_menu_obj.add_cascade(label='Linha 1',menu=texto_dest_tab[1]) texto_menu_obj.add_cascade(label='Linha 2',menu=texto_dest_tab[2])- 3 respostas