En general, existen dos soluciones a los problemas de Presentación:
interruptor para el uso de rejilla. Se vuelve realmente fácil hacer diseños como lo que estás tratando de lograr. Grid puede resolver probablemente el 95% de todos los problemas de diseño (es increíble cuando lo piensas - ¡Tk hace con un gerente lo que la mayoría de los toolkits necesitan media docena para lograr!)
usa varios marcos. Si algunos widgets necesitan apilarse de arriba a abajo y algunos de izquierda a derecha, no siempre se puede obtener lo que se desea empaquetando todo en un solo cuadro. Utilice un marco para las partes de arriba a abajo del diseño y marcos adicionales para el contenido de izquierda a derecha.
Además, tenga en cuenta que los widgets no tienen que ser elementos secundarios del widget en el que están empaquetados/grillados. Puede usar el parámetro "in" para colocar widgets en algún otro contenedor que no sea el principal.
Por ejemplo, en su ejemplo específico, puede crear tres marcos, arriba, medio, abajo. Empaque estos de arriba a abajo en su ventana de nivel superior. Luego puede empaquetar el primer widget de texto en la parte superior, el botón o los botones horizontalmente en el medio, y el otro widget de texto en la parte inferior.
La ventaja de este enfoque es que hace que sea mucho más fácil de cambiar el diseño en el futuro (que en mi experiencia siempre sucede en algún momento). No tiene que reaparecer ninguno de sus widgets, simplemente empaquételos/colóquelos en otro contenedor.
En su breve ejemplo, no hace mucha diferencia, pero para aplicaciones complejas, esta estrategia puede ser un salvavidas.
Mi mejor consejo es este: el diseño no es una idea de último momento. Haga un poco de planificación, tal vez incluso pase cinco minutos dibujando en papel cuadriculado. Primero decida sobre las principales regiones de su aplicación y use un marco o algún otro contenedor para cada una (ventana cuadrada, cuaderno, etc.). Una vez que tenga esos, haga el mismo enfoque de dividir y vencer para cada sección. Esto le permite usar diferentes tipos de diseño para diferentes secciones de su aplicación. Las barras de herramientas obtienen un diseño horizontal, los formularios pueden tener un diseño vertical, etc.
El argumento de la palabra clave 'before' del método' pack() 'podría ayudar. –