Comment horizontalement centre d'un widget à l'aide de la grille()?
Je suis en utilisant grid()
de placer des widgets dans une fenêtre tkinter. Je suis en train de mettre une étiquette sur le centre horizontal de la fenêtre et ont-il rester là, même si la fenêtre est redimensionnée. Comment pourrais-je aller sur le faire?
Je ne veux pas utiliser pack()
, par la manière. Je voudrais continuer à l'utiliser grid()
.
OriginalL'auteur L4undry | 2015-10-09
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de truc -- le widget est centré dans la zone qui lui est attribué par défaut. Il suffit de placer une étiquette dans une cellule sans
sticky
attributs et il sera centré.Maintenant, l'autre question est de savoir comment obtenir la zone qui lui est affectée à être centré. Cela dépend de nombreux autres facteurs, tels que ce que d'autres gadgets sont, comment ils sont organisés, etc.
Voici un exemple simple montrant un seul centrée sur l'étiquette. Il n'cela, assurez-vous de la ligne et de colonne, il est en occupe tout l'espace supplémentaire. Notez que l'étiquette reste centré n'importe comment grand vous rendre la fenêtre.
Vous pouvez obtenir un effet similaire en donnant un poids à toutes les lignes et colonnes sauf l'un avec l'étiquette.
le fait qu'il utilise le pack n'est pas pertinent. C'est seulement à l'aide de pack pour le passe-partout autour de l'exemple. Il peut être de la grille tout aussi facilement. Je vais le changer si cela vous rend plus à l'aise. Sans voir ton code je ne peux pas faire moins compliqué-que le premier exemple ne nécessite que trois lignes de code, le reste du code est réutilisable. Pour corriger votre code spécifique est probablement juste une question de l'ajout de ligne et de colonne de poids -- une étape supplémentaire requis par la grille qui n'est pas requis par pack.
Juste donner la ligne et de la colonne dans laquelle l'étiquette s'affiche un poids de 1, et être sûr de ne pas spécifier un collant attribut. Par défaut, la ligne et la colonne de poids est défini à zéro, ce qui signifie pas de s'accroître pour remplir tout l'espace supplémentaire dans le widget. La valeur 1 signifie qu'il va remplir dans l'espace et évoluer de manière linéaire comme la fenêtre devient élargi par l'utilisateur. Comme Bryan mentionné, c'est une étape supplémentaire qui est nécessaire lors de l'utilisation de la grille qui n'est pas nécessaire lors de l'utilisation de pack.
OriginalL'auteur Bryan Oakley