Pregunta

¿Hay mejores consejos prácticos respecto a cuándo se debe usar rejilla vs paquete por sus diseños?

Por lo que he estado leyendo a través de Google, el concencus parece ser que la rejilla puede manejar cualquier escenario de paquete, pero no viceversa.

Para iniciar la conversación, parece que un caso de uso que el paquete favores rejilla vs es cuando uno quiere mostrar / ocultar los widgets.

¿Fue útil?

Solución

Ni es intrínsecamente mejor que el otro. Cada uno tiene fortalezas y debilidades. Aprender lo que son y la elección de los cuales a su uso se hace evidente.

grid es considerablemente más fácil de usar si usted necesita para poner las cosas en una rejilla. pack es generalmente más fácil de usar si todo lo que tiene que hacer es poner algunos widgets en una sola fila o columna única. Hay una gran cantidad de área gris en el medio donde ni es necesariamente mejor que el otro.

La otra cosa a tener en cuenta es lo que ha dicho en su pregunta: si quieres mostrar y widgets de ocultar en tiempo de ejecución, grid es probablemente la mejor opción debido al método grid_remove la que recuerda los valores de todos los atributos configurados en caso de que quiera volver a añadir el widget.

En lo personal, mi primera opción es siempre para el uso pack porque supe por primera vez de vuelta Tk cuando no había ningún comando grid. Si no puedo hacerlo fácilmente en pack, o si estoy pone muy claramente las cosas en una cuadrícula, voy a utilizar grid.

Otros consejos

Siempre recomiendo red de más de paquete para aplicaciones de pulido. Hay sólo unos pocos casos extremos, donde paquete es más fácil y encaja a la perfección (todo en una fila o columna). rejilla tiene "componibilidad" (megawidgets por ejemplo o elementos grillado de elementos reticulares) mejor. Las razones para preferir la rejilla son las opciones adicionales de ajuste que proporciona. El uso de peso (que efectos en crecimiento y la disminución por cierto), minsize y maxsize, así como la conveniencia características como hacer cumplir filas / columnas uniformes.

Una aplicación completamente cuadriculada de cualquier tamaño utilizará (significativamente) menos fotogramas de una aplicación packed equivalente, y tienen mejor reducir / ampliar control sobre los elementos interiores.

BTW, tanto paquete y la rejilla pueden mostrar / ocultar sub-elementos, aunque los difiere de sintaxis ligeramente entre los dos. Grid es sólo un poco mejor porque 'remove' (en lugar de 'olvidar') recordará las opciones de cuadrícula en el widget de esclavos.

Yo personalmente sólo piensa red es mucho más fácil trabajar con él, así que me gustaría utilizar eso. Por supuesto, usted ha leído probablemente la única cosa que nunca debe hacer es tratar de utilizar ambos al mismo tiempo en el mismo contenedor. Gracias Bryan Oakley para hacer esa distinción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top