Я пытаюсь создать интерфейс в tkinter, но у меня возникла небольшая проблема с возвратом в меню. После входа в систему отображается главное меню с различными параметрами. Когда выбрана одна опция, открывается другое окно, в этом окне есть возможность вернуться в Меню. Вот где проблема заключается в том, как он берет меня на страницу входа. Он работал до того, как весь мой код был в одном файле, но я решил разбить его на разные файлы. Заранее спасибо.
вот мой код
Войти
class Login:
def __init__(self, master):
self.master = master
self.master.title("Login")
frame = LabelFrame(master, text="Login")
frame.grid(row=0, column=0)
self.lb1 = Label(frame, text="Username").grid(row=1, column=0)
self.entry1 = Entry(frame)
self.entry1.focus()
self.entry1.grid(row=1, column=1)
self.lb2 = Label(frame, text="Password").grid(row=2, column=0)
self.entry2 = Entry(frame, show="*")
self.entry2.grid(row=2, column=1)
btn = ttk.Button(frame, style="BM.TButton", text="Login", command=self.btn_clicked)
btn.grid(row=3, columnspan=2, sticky=W + E)
master.bind('<Return>', lambda event: self.login())
def login(self):
username = self.entry1.get()
password = self.entry2.get()
if username == "Admin" and password == "12345":
print("Success")
root2 = Toplevel(self.child)
myGui = Menu(root2)
self.child.withdraw()
else:
messagebox.showerror("Error", "Invalid login")
print("Retry")
def main():
mi_app = Login
return 0
if __name__ == '__main__':
master = Tk()
app = Login(master)
master.mainloop()
Меню
class Menu:
def __init__(self, master):
self.master = master
self.master.title("Menu")
self.master.geometry("1024x640")
self.master.config(background="light blue")
self.labelTitle = Label(master, text="Menu",
).grid(row=0)
self.button1 = Button(master, text="Inventory", width=12,
height=5, command=self.btn,
).grid(row=2, column=0)
def btn(self):
root2 = Toplevel(self.master)
myGui = Window1(root2)
self.master.withdraw()
Window1
class Window1:
def __init__(self, master):
self.master = master
self.master.title("Window1")
self.master.geometry("830x640")
top = Frame(self.master)
top.grid(row=0, column=0, sticky=E + W + N + S)
self.button1 = ttk.Button(top_frame, text="Menu", command=self.home) # home button
self.button1.grid(row=0, column=0)
def button1(self):
root2 = Toplevel(self.master)
myGui = Menu(root2)
self.master.withdraw()