Приложение Tkinter не запускается - почему? - PullRequest
0 голосов
/ 04 июля 2011

Мне не по себе - другу требуется помощь с приложением Tkinter, но хотя я опытный разработчик C, у меня нет опыта работы с Python.Я прочитал руководство по 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 функций, которые я определил, но когда я запускаю, ничего не происходит, почему?

1 Ответ

1 голос
/ 04 июля 2011

Вы ничего не запускаете, только определяете функции и классы.

Попробуйте добавить строку 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()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...