title: Difference between .pack and .configure for widgets in TkInter?
body: <p>I am currently studying a text to try and teach myself more about TkInter as I'm trying to improve my Python 3 programming. The text can be found here, if necessary: <a href="http://www.ferg.org/thinking_in_tkinter/all_programs.html" rel="nofollow">http://www.ferg.org/thinking_in_tkinter/all_programs.html</a></p>
  
  <p>In the section labelled "tt040.py" there is an example code, part of it is:</p>
  
  <pre><code>    self.button1 = Button(self.myContainer1)
      self.button1["text"] = "Hello, World!"   ### (1)
      self.button1["background"] = "green"     ### (1)
      self.button1.pack()
  
  
      self.button2 = Button(self.myContainer1)
      self.button2.configure(text="Off to join the circus!") ### (2)
      self.button2.configure(background="tan")               ### (2)
      self.button2.pack()
  
  
      self.button3 = Button(self.myContainer1)
      self.button3.configure(text="Join me?", background="cyan")  ### (3)
      self.button3.pack()
  </code></pre>
  
  <p>The explanation for this part of the code is : </p>
  
  <p>"(2) For button2, the process is essentially the same as for button1, but instead of accessing the button's dictionary, we use the button's built-in "configure" method.</p>
  
  <p>(3) For button3, we see that the configure method can take multiple keyword arguments, so we can set multiple options in a single statement."</p>
  
  <p>What does the explanation actually mean? As in, what is the actual difference (with .pack) or need for the .configure method? What is meant by "the button's dictionary"?</p>