2011-07-04 57 views
-1

我在我的腦海 - 一個朋友需要Tkinter應用程序的幫助,但是我是一個經驗豐富的C開發人員,我沒有Python的經驗。我已閱讀的Tkinter手冊,到目前爲止已經得到:Tkinter應用程序無法運行 - 爲什麼?

from Tkinter import * 
class Application(Frame): 
    def __init__(self, master=None): 
     frame = Frame(master) 
     frame.pack() 

     self.msg = Label(self, text="Bem-Vindo a Biblioteca!") 
     self.msg.pack() 
     self.usuario = Button (self, text="Cadastro de Usuario", command=janelaUsuario) 
     self.usuario.pack() 
     self.pack() 
     self.livros = Button (self, text="Cadastro de Livros", command=janelalivro) 
     self.livros.pack() 
     self.pack() 
     self.emprestimo = Button (self, text="Emprestimos de Livros", command=janelaemprestimo) 
     self.emprestimo.pack() 
     self.pack() 
     self.usuarioscadastrados = Button (self, text="Usuarios Cadastrados", command=self.quit) 
     self.usuarioscadastrados.pack() 
     self.pack() 
     self.livroscadastrados = Button (self, text="Livros Cadastrados", command=self.quit) 
     self.livroscadastrados.pack() 
     self.pack() 

def janelaUsuario(): 
    menu=Menu() 
    def popup(): menu.post(500, 500) 
    janela= popup() 
    nome = Label(text="Nome:") 
    nome.pack() 
    janela1=Entry() 
    janela1.pack() 
    CPF = Label(text="CPF:") 
    CPF.pack() 
    janela2=Entry() 
    janela2.pack() 
    endereco = Label(text="Endereco:") 
    endereco.pack() 
    janela3=Entry() 
    janela3.pack() 
    telefoneR = Label(text="Telefone Residencial:") 
    telefoneR.pack() 
    janela4=Entry() 
    janela4.pack() 
    telefoneC = Label(text="Telefone Celular:") 
    telefoneC.pack() 
    janela5=Entry() 
    janela5.pack() 
    data = Label(text="Data de Nascimento:") 
    data.pack() 
    janela6=Entry() 
    janela6.pack() 
    sexo = Label(text="Sexo:") 
    sexo.pack() 
    janela7=Entry() 
    janela7.pack() 
    email = Label(text="Email:") 
    email.pack() 
    janela8=Entry() 
    janela8.pack() 
    salvar= Button (text="Salvar") 
    salvar.pack() 
    menu.mainloop() 

def janelalivro(): 
    menu=Menu() 
    def popup(): menu.post(500, 500) 
    janela= popup() 
    nomelivro = Label(text="Nome do livro:") 
    nomelivro.pack() 
    janela1=Entry() 
    janela1.pack() 
    identificador = Label(text="Identificador do livro:") 
    identificador.pack() 
    janela2=Entry() 
    janela2.pack() 
    autor = Label(text="Autor:") 
    autor.pack() 
    janela3=Entry() 
    janela3.pack() 
    editora = Label(text="Editora:") 
    editora.pack() 
    janela4=Entry() 
    janela4.pack() 
    ano = Label(text="Ano de Publicacao:") 
    ano.pack() 
    janela5=Entry() 
    janela5.pack() 
    quantidade = Label(text="Numero de exemplares:") 
    quantidade.pack() 
    janela6=Entry() 
    janela6.pack() 
    #variavel se representa se o livro ta emprestado ou nao faltou ! 
    salvar= Button (text="Salvar") 
    salvar.pack() 
    menu.mainloop() 

def janelaemprestimo(): 
    menu=Menu() 
    def popup(): menu.post(500, 500) 
    janela= popup() 
    identificador = Label(text="Identificador do livro:") 
    identificador.pack() 
    janela1=Entry() 
    janela1.pack() 
    cpf = Label(text="CPF:") 
    cpf.pack() 
    janela2=Entry() 
    janela2.pack() 
    dataemprest = Label(text="Data de emprestimo:") 
    dataemprest.pack() 
    janela3=Entry() 
    janela3.pack() 
    datadevol = Label(text="Data de devolucao:") 
    datadevol.pack() 
    janela4=Entry() 
    janela4.pack() 
    salvar= Button (text="Salvar") 
    salvar.pack() 
    menu.mainloop() 
    app = Application(self) 
    self.mainloop() 

我期望從這一帶跑我已經定義了5個功能5個按鈕的窗口看到,但是當我運行沒有任何反應,爲什麼?

+0

我做了一個更新我的答案,但你也可能想看看[這裏](HTTP://www.ferg。 org/thinking_in_tkinter/index.html)的Tkinter教程。應該有可能做出你有工作的東西,但它遠非理想 - 你可能希望製作這些類的函數方法,並在全局範圍內啓動你的Tkinter主循環。 – theheadofabroom

回答

1

你沒有運行任何東西,只能定義函數和類。

嘗試在最後添加一行app = Application(),並讓我知道這是怎麼回事 - 我不知道Tkinter,但我確實知道python足以知道你沒有做任何事情:P。


好的我已經仔細查看了你的代碼。試試這個:

def janelaemprestimo(): 
    tk = Tk() 
    menu=Menu() 
    def popup(): menu.post(500, 500) 
    janela= popup() 
    identificador = Label(text="Identificador do livro:") 
    identificador.pack() 
    janela1=Entry() 
    janela1.pack() 
    cpf = Label(text="CPF:") 
    cpf.pack() 
    janela2=Entry() 
    janela2.pack() 
    dataemprest = Label(text="Data de emprestimo:") 
    dataemprest.pack() 
    janela3=Entry() 
    janela3.pack() 
    datadevol = Label(text="Data de devolucao:") 
    datadevol.pack() 
    janela4=Entry() 
    janela4.pack() 
    salvar= Button (text="Salvar") 
    salvar.pack() 
    menu.mainloop() 
    app = Application(tk) 
    tk.mainloop() 

,然後代替app = Application()嘗試janelaemprestimo()

+0

仍然沒有做任何事 –

+0

@André我沒有仔細看過代碼 - 編輯過 – theheadofabroom

相關問題