title: When adding text that spans columns the layout stretches
body: <p>I am trying to create a pretty simple layout using <code>tkinter</code> and I would like to use the grid manager so that I can align a label and button in three rows and under this have a text area to display the output.</p>
  <p>When I add the text area which spans the two columns for some reason this changes the grid size and the columns are now stretched, without the text area the buttons and labels seem to be centred by default, but by adding the text field the entire space is now occupied by this (as far left and right as it can be placed).</p>
  <p>Below is my code, I thought that just adding a text field into a grid with only two columns and adding a <code>colspan</code> of <code>2</code> would ensure the layout stayed looking the same whilst the text field occupied the same space the buttons and labels did, similar to how doing this in a html table would look.</p>
  <pre><code>load_tab = ttk.Frame(self.tab_control)
          
  load_frame = ttk.Frame(load_tab)
          
  tk.Label(load_tab, text=&quot;Airport Data&quot;, relief=tk.RIDGE, width=15)
          
  airport_data_label = tk.Label(load_frame, text=&quot;Airport Data&quot;, relief=tk.RIDGE, width=15).grid(row=1, column=0)
  
  airport_data_btn = tk.Button(load_frame, text=&quot;Open&quot;, command=self._upload_action).grid(row=1, column=1)
  
  freq_data_label = tk.Label(load_frame, text=&quot;Frequency Data&quot;, relief=tk.RIDGE, width=15).grid(row=2, column=0)
  freq_data_btn = tk.Button(load_frame, text=&quot;Runway Data&quot;, command=self._upload_action).grid(row=2, column=1)
  
  runway_data_label = tk.Label(load_frame, text=&quot;Runway Data&quot;, relief=tk.RIDGE, width=15).grid(row=3, column=0)
  runway_data_btn = tk.Button(load_frame, text=&quot;Open&quot;, command=self._upload_action).grid(row=3, column=1)
          
  clean_btn = tk.Button(load_frame, text=&quot;Clean Data&quot;, command=self._upload_action).grid(row=4, column=0)
  save_data_btn = tk.Button(load_frame, text=&quot;Save Data&quot;, command=self._upload_action).grid(row=4, column=1)
          
  text = tk.Text(load_frame)
  text.grid(row=6, column=0, columnspan=3)
  text.config(state=tk.DISABLED)     
  load_frame.pack()
  
  self.tab_control.add(load_tab, text=&quot;Load Data&quot;)
  </code></pre>
  <p>Why is the text area stretching to fill the entire content area instead of staying constrained to the middle like the labels and buttons do?</p>