¿Has querido facilitar el desarrollo de tus aplicaciones en Tkinter? Si tu respuesta es afirmativa y ya has intentado usar las ventanas y los widgets en Tkinter, debes aprender cómo utilizar los packs en Tkinter.
Con este conocimiento perfeccionarás las características de tu aplicación de escritorio y solucionarás problemas que, con solo la creación de constantes de los widgets y ventanas, no es posible.
En este post, te hablamos sobre 3 opciones del método de packs en Tkinter que podrás empezar a integrar en tus programas de desarrollo de aplicaciones de escritorio.
Packs en Tkinter
Cuanto más te acercas al uso de ventanas, widgets y styles en Tkinter, más herramientas necesitas para complementar su trabajo. Según la documentación, el método packs en Tkinter es útil cuando necesitamos posicionar los widgets en bloques específicos para después ponerlos en la ventana principal. Hay varias opciones para utilizar el método pack.
Entre ellas, expand que, mientras son verdaderos, expandirá nuestros widgets en el espacio del frame o la ventana; fill, que determina si los widgets van a rellenar el espacio o permanecerán con las dimensiones que el programador propuso en primer lugar; y la opción side, que te permitirá decidir en qué lado deberán empaquetarse tus widgets.
Por ejemplo, en otro post sobre cómo crear widgets necesitábamos una instrucción diferente para posicionar unos widgets que no aparecían en nuestra pantalla. Esto se puede solucionar con los packs en Tkinter, como son la geometría pack, el pack propagate tkinter, y las opciones side, tkinter fill y expand.
Geometría pack
Pack: opción side
Una de las funcionalidades de este método es apilar los widgets según la dirección que el programador le indique. Por ejemplo, si se indica una dirección desde arriba, el pack apilará los widgets desde arriba hacia abajo. Para ellos utilizamos una de las cuatro constantes de Tkinter para side: TOP, BOTTOM, LEFT, RIGHT.
Continuando con el ejemplo del post sobre widgets en Tkinter, este es el paso que debes realizar para el posicionamiento de tu control o widget:
#pack tkinter python
#tkinter pack left
#establecer el widget
btn_reset = tkinter.Button (fr:buttons, text = "Reset")
#posicionar el widget según un side
btn_reset.pack (side = tkinter.TOP)
🔴 ¿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 semanaAhora, si bien con la anterior instrucción ya te aparecerá el botón, el widget perderá las dimensiones que posiblemente estableciste en un paso anterior del programa. Por eso es necesario usar otro método pack, ya que el Geometría pack, con la opción side, actúa en uno de los hijos y esto hace que width y height (del frame padre original) dejen de tener efecto sobre el widget.
Pack propagate
Para conseguir que el height y width del frame padre no pierdan su efecto en el posicionamiento del widget, debemos indicarle a la función del frame, de nuevo, a width y height y efectuarlo con un Pack propagate.
#python tkinter pack
#establecer el widget
btn_reset = tkinter.Button (fr:buttons, text = "Reset")
#uso de geometríaPack
btn_reset.pack (side = tkinter.TOP)
#uso de Pack_propagate, debe ser falso o estar en 0
fr_buttons.pack_propagate (False)
#configuración de las dimensiones del botón
fr_buttons.config (width=200, height=260)
Pack: opciones Fill y Expand
Las otras dos opciones del método pack son la opción Fill y la opción Expand. La primero, fill, te posibilitará rellenar el widget en una determinada dirección. Esta opción tiene tres parámetros: tkinter.X, tkinter.Y (junto al pack expand) y Tkinter.BOTH, siendo el último la opción para rellenar el espacio con un botón horizontalmente y verticalmente.
#python tk pack
#rellenar horizontalmente
btn_reset.pack (fill = tkinter.X)
#rellenar verticalmente - debe estar relacionado con el pack expand.
btn_reset_pack (fill = tkinter.Y)
#rellenar para ambas partes
btn_reset_pack (fill = tkinter.BOTH)
#no rellenar
btn_reset_pack (fill = tkinter.NONE)
Para hacer que el pack fill hacia la y, o sea, verticalmente, funcione debemos integrarlo con expand, es decir, expandirlo. Para esto se utiliza la siguiente función:
#expandir el botón
btn_reset.pack (expand=True)
#hacer que el botón o widget ocupe un frame entero, después de integrarle las instrucciones anteriores
btn_reset.pack (fill = tkinter.BOTH)
Si bien ya conoces cómo utilizar packs en Tkinter, hay muchas más herramientas que aprender sobre esta esta librería para el desarrollo de tus aplicaciones de escritorio. Entonces, si quieres seguir aprendiendo, muchas de estas herramientas se utilizan en los ejercicios prácticos que ofrece el Bootcamp Aprende a Programar desde Cero de KeepCoding.
No te puedes perder la oportunidad de inscribirte a un bootcamp en el que podrás convertirte en un programador Junior de Python en 4 meses. Estamos seguros que disfrutarás de nuevos conceptos y herramientas en tu camino por la programación desde cero. ¡Solicita información y no dudes en inscribirte!