title: Tkinter widgets set to appear in multiple windows appear in the same window
body: <p>So, I have a few different widgets in my python program: <code>infobar</code> and <code>texteditor</code> are in my <code>App</code> class; <code>commandline</code> and <code>output</code> in my <code>Terminal</code> class. But when I run the program, the command line and output appear in my App window.</p>
  
  <pre><code>class Terminal(Frame):
  ### A window used for running Terminal commands.
  
  def __init__(self, master):
      ### Initialize the Terminal app.
      # Initialize frame
      frame = Frame(terminalroot)
      frame.pack()
  
      # Create fonts
      txtFont = tkFont.Font(family="Monaco",size=10)
  
      # Initilize Commandline.
      self.commandline = Text(wrap=None,font=txtFont,width=40,height=1)
      self.commandline.pack()
  
      # Initialize Output.
      self.output = Text(wrap=WORD,font=txtFont,width=40,height=30)
      self.output.pack()
  
  class App(Frame):
  ### The main application window.
      def __init__(self, master):
      ### Initialize the program.
      ## Initialize the frame
      ##  Setup the frame.
      ##  Set the title of the window.
      ##  Pack the frame.
      ## Initialize random class variables.
      ## Create fonts.
      ##  txtFont: Monaco, size 10. Used for most of the text areas.
      ## Create and pack the editor.
      ##  Wrap text along words.
      ##  Set size to W120 and H20.
      ##  Insert a short message to the text editor.
      ##  Reset any undo/redos.
      ##  Pack the editor.
      ## Setup tags.
      ##  Alert, sel.
      ## Create and pack the info bar.
      ##  Set size to W120 and H1.
      ##  Insert Info bar to the info bar.
      ## Setup the menu bar.
      ##  File:
      ##   Save, ^S, save_it
      ##   Save as, ^[shift]S, save_it_as
      ##   Load, ^L, load_it_and_clear
      ##   Import, ^I, load_it
      ##  Edit:
      ##   Undo, ^Z, undo
      ##   Redo, ^Y, redo
      ##  Style:
      ##   Default, no shortcut, set_theme_default
      ##   White on Black, no shortcut, set_theme_wob
      ##   Homebrew, no shortcut, set_theme_hbrew
      ## Setup the popup menu.
      ##  Undo, ^Z, undo
      ##  Redo, ^Y, redo
      ## Bind various commands.
      ## Final configuration.
      self.frame = Frame(root, background="black")
      root.title("BasicEdit")
      self.frame.pack()
  
      self.filename = "Hello World.txt"
  
      txtFont = tkFont.Font(family="Monaco", size=10)
  
      self.texteditor = Text(wrap=WORD,font=txtFont,width=120,height=20)
      self.texteditor.insert(END, """Lorem epsum...""")
      self.texteditor.edit_reset()
      self.texteditor.pack()
  
      self.texteditor.tag_config("alert", foreground="white", background="black")
      self.texteditor.tag_config("sel", foreground="blue")
  
      self.infobar = Text(font=txtFont,height=1,width=120)
      self.infobar.insert(END, "Info bar")
      self.infobar.pack()
  
      self.menubar = Menu()
      self.filemenu = Menu(self.menubar, tearoff=0)
      self.filemenu.add_command(label="Save", command=self.save_it, accelerator="Ctrl+S")
      self.filemenu.add_command(label="Save as", command=self.save_it_as, accelerator="Ctrl+Shift+S")
      self.filemenu.add_command(label="Load", command=self.load_it_and_clear, accelerator="Ctrl+L")
      self.filemenu.add_command(label="Import", command=self.load_it, accelerator="Ctrl+I")
      self.editmenu = Menu(self.menubar, tearoff=0)
      self.editmenu.add_command(label="Undo", command=self.undo, accelerator="Ctrl+Z")
      self.editmenu.add_command(label="Redo", command=self.redo, accelerator="Ctrl+Y")
      self.stylemenu = Menu(self.menubar, tearoff=0)
      self.stylemenu.add_command(label="Default", command=self.set_theme_default)
      self.stylemenu.add_command(label="White on Black", command=self.set_theme_wob)
      self.stylemenu.add_command(label="Homebrew", command=self.set_theme_hbrew)
      self.menubar.add_cascade(label="File", menu=self.filemenu)
      self.menubar.add_cascade(label="Edit", menu=self.editmenu)
      self.menubar.add_cascade(label="Style", menu=self.stylemenu)
  
      self.popup = Menu(tearoff=1)
      self.popup.add_command(label="Undo", command=self.undo, accelerator="Ctrl+Z")
      self.popup.add_command(label="Redo", command=self.redo, accelerator="Ctrl+Y")
      root.bind("&lt;Button-2&gt;", self.rightmenu)
  
      root.bind("&lt;Control-q&gt;", self.quit)
      root.bind("&lt;Control-Q&gt;", self.quit)
      root.bind("&lt;Control-s&gt;", self.save_it)
      root.bind("&lt;Control-S&gt;", self.save_it)
      root.bind("&lt;Control-l&gt;", self.load_it_and_clear)
      root.bind("&lt;Control-L&gt;", self.load_it_and_clear)
      root.bind("&lt;Control-i&gt;", self.load_it)
      root.bind("&lt;Control-I&gt;", self.load_it)
      root.bind("&lt;Control-z&gt;", self.undo)
      root.bind("&lt;Control-Z&gt;", self.undo)
      root.bind("&lt;Control-y&gt;", self.redo)
      root.bind("&lt;Control-Y&gt;", self.redo)
      root.bind("&lt;Key&gt;", self.keyPress)
  
      self.set_theme_default()
      root.config(menu=self.menubar)
  </code></pre>
  
  <p>Notice that all of the code works except for positioning my widgets in the right window.
  <a href="http://pastebin.com/raw.php?i=1g6TxNa9" rel="nofollow">Raw Paste</a></p>