2011-07-04 37 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