Возвращаясь к странице меню - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь создать интерфейс в 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()
...