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
class FirstWindow():
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()