Hacer que un widget aparezca requiere que lo coloque usando lo que Tkinter llama "gestores de geometría". Los tres gerentes son grid, pack y place. Cada uno tiene fortalezas y debilidades. Estos tres administradores se implementan como métodos en todos los widgets.
La cuadrícula, como su nombre lo indica, es perfecta para colocar widgets en una cuadrícula. Puede especificar filas y columnas, las filas y columnas, relleno, etc.
Ejemplo:
b = Button(...)
b.grid(row=2, column=3, columnspan=2)
paquete de utiliza una metáfora cuadro, que le permite widgets "paquete" a lo largo de uno de los lados de una envase. el paquete es extremadamente bueno en todos los diseños verticales o totalmente horizontales. Las barras de herramientas, por ejemplo, donde los widgets están alineados en una línea horizontal, son un buen lugar para usar el paquete.
Ejemplo:
b = Button(...)
b.pack(side="top", fill='both', expand=True, padx=4, pady=4)`
lugar es el gestor de la geometría menos utilizada. Con lugar, especifique la ubicación x/y exacta y el ancho/alto exacto para un widget. Tiene algunas características agradables, como la posibilidad de utilizar coordenadas absolutas o relativas (por ejemplo, puede colocar un widget a 10,10 o al 50% del ancho o alto de los widgets).
A diferencia de grid
y pack
, el uso de place
no hace que el widget padre se expanda o contraiga para adaptarse a todos los widgets que se han colocado dentro.
Ejemplo:
b = Button(...)
b.place(relx=.5, rely=.5, anchor="c")
Con esas tres gestores de geometría que puede hacer casi cualquier tipo de diseño se puede imaginar.
Recomiendo no preferir uno sobre el otro: aprenda las fortalezas de cada uno y use la herramienta adecuada para el trabajo. El paquete es notablemente potente y fácil para una cierta clase de problemas de diseño, como lo es la grilla. Cada uno puede resolver más fácilmente algunos problemas que el otro. –