Cómo utilizar los grids en Tkinter

Autor: | Última modificación: 13 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Tkinter es una librería de Python para el desarrollo de aplicaciones web. Es perfecta si deseas integrar ventanas, widgets o grids en tus aplicaciones de escritorio, pero ¿sabes cómo utilizar los grids en Tkinter? ¿O alguna de las otras herramientas?. Te recomendamos nuestros post acerca de cómo crear las ventanas y cómo utilizar los widgets en la librería de Python para aprender más y complementar la información sobre cómo utilizar grids en Tkinter.

Por ahora, este post será nuestra oportunidad de contarte acerca de los grids en Tkinter, su relación con los canvas y su funcionamiento sobre las ventanas de una aplicación.

Canvas y grids en Tkinter

Los grids son una de las geometrías que utilizan con la librería Tkinter. Para utilizarlas, podemos usar un tipo de control, en este caso, canvas. Un canvas es un lienzo, donde Tkinter permite elegir el tamaño y el color, además de crear sobre el cualquier figura, entre otras opciones. En este caso, utilizarás el canvas solo como un lienzo donde añadirás los grids. Entonces, deberás empezar por crear el canvas de la siguiente forma:

#creación de la ventana

ws = tkinter.Tk()

#ponerle un título

ws.title («Gride test»)

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

#utilizar el canvas como lienzo, con el control del que depende, es decir, ws

cv = tkinter.Canvas (ws, width=50, height=50, bg=»gray»)

Como en el caso de las ventanas y widgets, aún no aparecerá el grid con solo esta instrucción. Por tanto, debes, al igual que con los widgets, posicionar el grid con la opción de propagate de Tkinter.

Grid Propagate

La función del grid propagate en falso, al igual que sucede con los widgets, es desactivar la propagación de las mismas dimensiones entre un control, widget o grid a la ventana de la aplicación. Así que, si usas propagate podrás manejar el tamaño de tu grid según tu preferencia, no cambiará las dimensiones preestablecidas de las ventanas.

Para que se mantenga con las dimensiones originales deberás añadir las siguientes instrucciones:

#desactivar el propragate. funciona con 0 o con false

ws.grid_propagate (0)

#posicionar el grid en un lugar específico de la cuadrícula

cv.grid (column=0, row=0)

Grid Row Column

Si, por otro lado, deseas que cada una de tus canvas tengan un espacio específico en la cuadrícula de tu ventana, las opciones de row y column te permitirán escoger el espacio que necesites. Esto se presenta en la consola de esta manera:

#creación del canvas

cv1 = tkinter.Canvas (ws, width=50, height=50, bg = «lightgray»)

#posicionar el grid con las opciones row y column

cv1.grid ( row=1, column=1)

#creación de un segundo canvas

cv2 = tkinter.Canvas (ws, width=50, height=50, bg = «lightblue»)

#posicionar un segundo grid con las opciones row y column

cv1.grid ( row=2, column=2 )

Grid Rowspan

Ahora, si crees que deberías poner un canvas en un espacio que no está especificado entre filas en la cuadrícula de tu ventana, puedes utilizar la opción rowspan de la siguiente forma:

#creación del canvas

cv3 = tkinter.Canvas (ws, width=50, height=50, bg = «purple»)

#lugar no especificado en la cuadrícula, está entre la fila 1 y la 2

cv1.grid ( row=0, column=2, rowspan=2)

Grid Columnspan

Al igual que con la opción de rowspan, hay una forma para crear el canvas en un espacio no especificado entre columnas. Para ello, puedes utilizar las siguientes instrucciones de los grids en Tkinter:

#creación del canvas

cv4 = tkinter.Canvas (ws, width=50, height=50, bg = «lightgreen»)

#posicionar el canvas en un lugar no especificado en la cuadrícula, está entre la columna 1 y la 2

cv1.grid ( row=2, column=0, columnspan =2)

Es importante aclarar que, tanto en las columnas como en las filas, la cuenta empieza desde el 0. Así que si una ventana, por ejemplo, tiene solo 3 columnas, serán nombradas así: 0, 1, 2.

¿Qué puedes hacer ahora?

Ahora que conoces más acerca de la herramienta de grids en Tkinter y su relación con la creación de canvas, puedes empezar a jugar con las posibilidades que brindan las opciones de esta geometría para el desarrollo de tus aplicaciones de escritorio.

Si deseas saber más acerca del funcionamiento de los grids en Tkinter o de los conceptos clave para el desarrollo de aplicaciones de escritorio, te invitamos a revisar el programa de nuestro Bootcamp Aprende a Programar desde Cero. Después de completar las 5 etapas que te ofrecemos, en 4 meses podrás crear tus propios programas y convertirte en un programador junior de Python. ¡No dudes en solicitar más información al respecto para inscribirte y convertirte en un profesional del sector IT!

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!