Programación con Python: curso para principiantes

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager

Todos los vídeos del tutorial Programación con Python: curso para principiantes

Si buscas una manera de diseñar tus Tkinter aplicaciones de manera eficiente, el Grid-Manager es la herramienta ideal para ti. Con él, puedes organizar tu interfaz gráfica de usuario (GUI) en una cuadrícula, lo que resulta en una aplicación estructurada y con buena apariencia. En esta guía, aprenderás paso a paso cómo puedes utilizar el gestor de geometría Grid para organizar correctamente tus widgets y mejorar la experiencia del usuario.

Aprendizajes más importantes

  • El Grid-Manager permite una disposición sencilla de widgets en una cuadrícula bidimensional.
  • Cada widget se posiciona mediante filas (rows) y columnas (columns).
  • Puedes personalizar el Grid-Manager para crear diferentes diseños, como combinar columnas o posicionar elementos a través de varias filas y columnas.

Guía paso a paso

Paso 1: Configuración de tu aplicación Tkinter

Para comenzar con el Grid-Manager, primero crea un nuevo script de Python. Nómbralo, por ejemplo, GridManager.py. Importa la biblioteca Tkinter añadiendo el siguiente código.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
from tkinter import *

Ahora inicias tu ventana principal.

root = Tk()

Paso 2: Crear etiquetas y campos de entrada

Agrega dos etiquetas y sus campos de entrada correspondientes. La primera etiqueta debe contener el texto "Nombre", y el campo de entrada debe colocarse al lado de esta etiqueta.

label1 = Label(root, text="Nombre")
label1.grid(row=0, column=0)

entry1 = Entry(root) entry1.grid(row=0, column=1)

La segunda etiqueta se utilizará para el "Apellido", y el campo de entrada se colocará debajo de la primera etiqueta.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
label2 = Label(root, text="Apellido")
label2.grid(row=1, column=0)

entry2 = Entry(root) entry2.grid(row=1, column=1)

Paso 3: Agregar un Checkbutton

Para refinar aún más el diseño, añadimos un Checkbutton. Este debe posicionarse en la siguiente fila. Aquí se pueden usar los atributos sticky para alinear el botón a la izquierda.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
checkbutton = Checkbutton(root, text="Acepto los términos.")
checkbutton.grid(row=2, column=0, columnspan=2, sticky=W)

Paso 4: Añadir una imagen

Ahora es el momento de añadir una imagen. La imagen se colocará en la primera fila de la tercera columna y debe abarcar dos columnas y dos filas. Para esto se utilizan los parámetros rowspan y columnspan.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
image = PhotoImage(file="imagen.png")
image_label = Label(root, image=image)
image_label.grid(row=0, column=2, rowspan=2, columnspan=2, sticky='nsew', padx=3, pady=3)

Paso 5: Agregar botones

Ahora añadimos dos botones a la interfaz. El primer botón se posicionará en la tercera fila de la tercera columna.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
button1 = Button(root, text="Botón 1")
button1.grid(row=2, column=2)

El segundo botón irá en la misma fila, pero en la cuarta columna.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
button2 = Button(root, text="Botón 2")
button2.grid(row=2, column=3)

Paso 6: Ajustar el diseño

Para aumentar el espacio entre los botones, puedes usar los atributos padx y pady. Aquí se agrega un espacio adicional de 2 píxeles para separar visualmente los botones.

Guía amigable para principiantes sobre el uso del Tkinter Grid-Manager
button1.grid(padx=2, pady=2)
button2.grid(padx=2, pady=2)

Paso 7: Iniciar el bucle principal

Para hacer funcionar la aplicación, debes ejecutar el comando mainloop().

root.mainloop()

Resumen

En esta guía has aprendido a utilizar el Grid-Manager en Tkinter para crear y organizar widgets de manera efectiva. Has creado etiquetas, campos de entrada, botones y Checkbuttons, integrándolos en un diseño estructurado. La manipulación de rowspan, columnspan y atributos sticky te brinda numerosas posibilidades para diseñar tu interfaz de usuario de acuerdo a tus deseos.

Preguntas frecuentes

¿Cómo uso el Grid-Manager en Tkinter?Colocando cada widget en la posición deseada en la fila y columna mediante el método.grid().

¿Qué hace el método rowspan?Con rowspan puedes extender un widget a través de varias filas.

¿Cómo agrego espacio entre widgets?Utiliza los parámetros padx y pady en el método grid() para definir el espacio horizontal y vertical.

¿Cuál es la diferencia entre columnspan y sticky?Columnspan define cuántas columnas ocupa un widget, mientras que sticky determina la posición dentro de la celda.