Ir para conteúdo
Fórum Script Brasil

Rhaone da Silva

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Rhaone da Silva

Rhaone da Silva's Achievements

0

Reputação

  1. 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 ()
  2. 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. 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])
×
×
  • Criar Novo...