Quero criar um gerenciador de telas em python. Um menu com opções de telas pra ir, e em cada tela uma opção de voltar ao menu. Se colocar as classes em um mesmo arquivo não terei problema, mas se eu tento modularizar e distribuir as classes em arquivos, não consigo importar a função 'main()' em PrimeiraTela, por exemplo. Cada tela está em um uma classe diferente e em um arquivo diferente, quando tento voltar ao menu vai ocorrer o erro de círculo. Qual a melhor forma de resolver? Segue o código de cada arquivo:
Main
from tkinter import*from primeira import*class main():def __init__(self):
self.master =Tk()# Configuração da janela principal
self.master.title('Janela Principal')
self.master.geometry('480x240')
self.master.configure(borderwidth=4, background='white')
self.button =Button(self.master, text='tela 1', command=lambda: self.evento())
self.button.pack(side='left', fill='x')
self.master.mainloop()def evento(self):
self.master.destroy()FirstWindow()
main()
Primeira tela (em outro arquivo)
from tkinter import*from main import main
classFirstWindow():def __init__(self, master=None):
master =Tk()
self.master = master
# Configuração da janela principal
self.master.title('Primeira Janela')
self.master.configure(background='green')
self.master.geometry('480x240')
self.button =Button(master, text='menu', command=lambda: self.irMain())
self.button.pack(side='left', fill='x', expand=True)
master.mainloop()def irMain(self):
self.master.destroy()
main()
Pergunta
J. Víctor
Quero criar um gerenciador de telas em python. Um menu com opções de telas pra ir, e em cada tela uma opção de voltar ao menu. Se colocar as classes em um mesmo arquivo não terei problema, mas se eu tento modularizar e distribuir as classes em arquivos, não consigo importar a função 'main()' em PrimeiraTela, por exemplo. Cada tela está em um uma classe diferente e em um arquivo diferente, quando tento voltar ao menu vai ocorrer o erro de círculo. Qual a melhor forma de resolver? Segue o código de cada arquivo:
Main
Primeira tela (em outro arquivo)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.