title: Why does my tkinter Listbox keep moving?
body: <p>I've been trying to create a simple questionnaire in tkinter (Python 3) and I'm having a problem where my listbox moves whenever I edit a label underneath it.</p>
  
  <p>To illustrate what I mean, here are two pictures: <a href="http://imgur.com/a/4v92O" rel="nofollow">http://imgur.com/a/4v92O</a></p>
  
  <p>Can anyone help me understand why the box doesn't stay still?</p>
  
  <pre><code>class Questionnaire(Frame):
  # GUI
  
  
  def __init__(self, master):
  
      # Initialise
  
      Frame.__init__(self,master)
      self.grid()
      self.createProgSelect()
      self.createQuestions()
  
  def createProgSelect(self):
  
      # Degree programme label
  
      lblProg = Label(self, text='Degree Programme:', font=('MS', 8,'bold'))
      lblProg.grid(row=1, column=0, columnspan=2, sticky=NE)
  
      # Listbox
  
      self.listProg.configure(yscrollcommand=scroll.set)
      self.listProg = Listbox(self, height= 3)
      self.listProg.grid(row=1, column=2, columnspan=2, sticky=E)
  
      # Scrollbar
  
      scroll = Scrollbar(self, command= self.listProg.yview)
      scroll.grid(row=1, column=4, sticky=W)
  
      # Listbox items
  
      for item in ["CS", "CS with", "BIS", "SE", "Joints",""]:
          self.listProg.insert(END, item)
  
      self.listProg.selection_set(END)
  
  
  def createQuestions(self):
  
      # Strongly agree
  
      lblStrAgr = Label(self, text = 'Strongly \n Agree', font=('MS', 8,'bold'))
      lblStrAgr.grid(row=3, column= 4, rowspan=2)
  
      # Partly agree
  
      lblStrAgr = Label(self, text = 'Partly \n Agree', font=('MS', 8,'bold'))
      lblStrAgr.grid(row=3, column= 5, rowspan=2)
  
      # Partly disagree
  
      lblStrAgr = Label(self, text = 'Partly \n Disagree', font=('MS', 8,'bold'))
      lblStrAgr.grid(row=3, column= 6, rowspan=2)
  
      # Strongly disagree
  
      lblStrAgr = Label(self, text = 'Strongly \n Disagree', font=('MS', 8,'bold'))
      lblStrAgr.grid(row=3, column= 7, rowspan=2)
  
      self.varQ1 = IntVar()
  
      # Label for question 1
  
      Q1Label = Label(self, text='1. Short text')
      Q1Label.grid(row=5, column=0)
  
      # Radio buttons for question 1
  
      R1Q1 = Radiobutton(self, variable=self.varQ1, value=4)
      R1Q1.grid(row=5, column= 4)
  
      R2Q1 = Radiobutton(self, variable= self.varQ1, value=3)
      R2Q1.grid(row=5, column= 5)
  
      R3Q1 = Radiobutton(self, variable= self.varQ1, value=2)
      R3Q1.grid(row=5, column= 6)
  
      R4Q1 = Radiobutton(self, variable= self.varQ1, value=1)
      R4Q1.grid(row=5, column= 7) 
  </code></pre>
  
  <p>Sorry for the slightly stupid question.</p>