Expandir el widget de texto para llenar todo el marco principal en Tkinter

Obtuve este widget de Text , y me gustaría que se expandiera y llenara todo su padre principal, usando el administrador de geometría de cuadrícula.

De acuerdo con los ejemplos que he visto, este progtwig de ejemplo debería funcionar, pero no lo hace, al expandir la ventana, el contenido no se está redimensionando.

 from Tkinter import * root = Tk() input_text_area = Text(root) input_text_area.grid(row=1, column=0, columnspan=4, sticky=W+E) input_text_area.configure(background='#4D4D4D') root.mainloop() 

Cualquier ayuda es apreciada

Para lo que vale, estoy ejecutando Python 2.7 (la última versión 2.x) y la encoding en PyCharm, aunque no creo que el IDE sea relevante.

Cuando se usa la cuadrícula, cualquier espacio adicional en el padre se asigna de manera proporcional al “peso” de una fila y / o una columna (es decir, una columna con un peso de 2 obtiene el doble del espacio que una con un peso de 1 ). De forma predeterminada, las filas y columnas tienen un peso de 0 (cero), lo que significa que no se les da espacio adicional.

Debe indicar a la columna que el widget tiene un peso distinto de cero, de modo que cualquier espacio adicional cuando la ventana crezca se asigne a esa columna.

 root.grid_columnconfigure(0, weight=1) 

También deberá especificar un peso para la fila y un valor fijo de N+S+E+W si desea que crezca en todas las direcciones.

Como su ventana solo contiene un widget y desea que este ocupe toda la ventana, sería más fácil usar el administrador de geometría del pack lugar de la grid

 input_text_area.pack(expand=True, fill='both') 

expand=True le dice a Tkinter que permita que el widget se expanda para llenar cualquier espacio adicional en el maestro de geometría. fill='both' permite que el widget se expanda horizontal y verticalmente.

 from tkinter import * root = Tk() input_text_area = Text(root) input_text_area.grid(row=0, column=0, columnspan=4, sticky=N+S+W+E) input_text_area.configure(background='#4D4D4D') root.grid_columnconfigure(0, weight=1) root.grid_rowconfigure(0, weight=1) root.mainloop() 

No estoy seguro si esto es lo que quieres. Pero esto llena toda la pantalla.