2010-10-19 17 views

Répondre

18

grid est utilisé pour disposer des widgets dans une grille. Une autre réponse dit qu'il "superpose un graphique", ce qui est un peu un abus de langage. Il ne superpose rien, il arrange simplement les widgets le long des limites de ligne et de colonne. C'est génial pour créer des tableaux et d'autres types de mise en page structurés.

pack dépose les choses le long des côtés d'une boîte. Il excelle à faire des mises en page où tout est sur une seule ligne ou dans une seule colonne (pensez à des rangées de boutons dans une barre d'outils ou une boîte de dialogue). Il est également utile pour les mises en page très simples telles qu'un navigateur sur la gauche et une zone de travail principale sur la droite. Il peut être utilisé pour créer des mises en page très complexes, mais il devient difficile jusqu'à ce que vous compreniez parfaitement l'algorithme d'emballage.

Vous ne pouvez pas utiliser à la fois la grille et le pack avec des widgets ayant un parent commun. Votre application peut fonctionner, mais il est beaucoup plus probable de se retrouver dans une boucle infinie car chaque gestionnaire essaie de mettre en forme les widgets, puis les autres remarquent que les widgets changent de taille et tentent de les ajuster, etc

place. L'emplacement est idéal pour effectuer un positionnement absolu (par exemple: placer un widget à un x/y donné) ou relatif (par exemple: placer un widget sur le bord droit d'un autre widget).

Bien que vous ne puissiez pas mélanger la grille et le pack dans le même conteneur (un conteneur est généralement une trame), vous pouvez utiliser à la fois la grille et le pack dans une même application. C'est très, très commun car chacun a ses forces et ses faiblesses. J'utilise les deux sur une base régulière.