title: How to locate tkinter root window to destroy?
body: <p>For my current project with tkinter I was in the need of having multiple pages in my GUI and was able to achieve this through the answer I have linked to here <a href="https://stackoverflow.com/a/7557028/12180040">Switch between two frames in tkinter</a>. </p>
  
  <p>However, I can't find a way to implement a call to a root window without ruining this preexisting code. I am trying to create a widget button to destroy the root window but I can't locate the specific root to destroy. </p>
  
  <pre class="lang-py prettyprint-override"><code>from tkinter import *
  
  class MainApp(Tk):
      """Class that displays respective frame"""
      def __init__(self):
          Tk.__init__(self)
          self.winfo_toplevel().title("YouTube Ripper and Editor")
          self.resizable(0, 0)
          container = Frame(self)
          container.pack(side="top", fill="both", expand=True)
          container.grid_rowconfigure(0, weight=1)
          container.grid_columnconfigure(0, weight=1)
  
          self.frames = {}
          for F in (StartPage, Downloader, Audio_Player, Config, About):
              page_name = F.__name__
              frame = F(parent=container, controller=self)
              self.frames[page_name] = frame
              frame.grid(row=0, column=0, sticky="NSEW")
  
          self.show_frame("StartPage")
  
      def show_frame(self, page_name):
          """Raise called frame"""
          frame = self.frames[page_name]
          frame.tkraise()
  
  
  class StartPage(Frame):
      """Class that contains the start page"""
      def __init__(self, parent, controller):
          Frame.__init__(self, parent)
          self.configure(bg = f_color)
          self.controller = controller
          b_font = Font(family = "Franklin Gothic Book", size = 12)
  
          titleLabel = Label(self, text="Youtube Ripper and Editor", font = ("Franklin Gothic Book", 16,  "bold"), bg = f_color)
          titleLabel.pack(side="top", fill="x", pady= 30)
  
          button1 = Button(self, text="Downloader", command=lambda: controller.show_frame("Downloader"),
                              font = b_font, bg = b_color, activebackground = bp_color)
          button2 = Button(self, text="Audio Player", command=lambda: controller.show_frame("Audio_Player"),
                              font = b_font, bg = b_color, activebackground = bp_color)
          button3 = Button(self, text="MP3 Configurator", command=lambda: controller.show_frame("Config"),
                              font = b_font, bg = b_color, activebackground = bp_color)
          button4 = Button(self, text="About", command=lambda: controller.show_frame("About"),
                              font = b_font, bg = b_color, activebackground = bp_color)
          button5 = Button(self, text="Exit", command=self.exit, font = b_font, bg = b_color, activebackground = bp_color)
          # button1.pack(fill = 'x')
          # button2.pack(fill = 'x')
          # button3.pack(fill = 'x')
          # button4.pack(fill = 'x')
          button5.pack(fill = 'x')
  
  
      def exit(self):
          """Exit program"""
          MainApp.destroy()
  
  
  def main():
      app = MainApp()
      app.mainloop()
  
  
  main()
  </code></pre>