Comprendre l'option « Poids » dans la grille Tkinter
Le système de gestion de grille de Tkinter fournit l'option « Poids » pour les colonnes et les lignes, permettant le contrôle sur leur croissance lorsqu'il y a un excès d'espace dans la fenêtre. Par défaut, le poids est défini sur zéro, ce qui indique aucune expansion.
Considérez l'option « poids » dans le contexte suivant :
Poids dans une démo simple
Pour illustrer l'effet du poids, examinons un extrait de code qui crée une fenêtre avec plusieurs cadres. Sans poids appliqués, les cadres ne s'agrandiront pas pour remplir l'espace supplémentaire dans la fenêtre :
<code class="python">root = tk.Tk() root.geometry("200x100") f1 = tk.Frame(root, width=10, height=100) f2 = tk.Frame(root, width=10, height=100) f1.grid(row=0, column=0, sticky="nsew") f2.grid(row=0, column=1, sticky="nsew") root.grid_columnconfigure(0, weight=0) root.grid_columnconfigure(1, weight=0) root.mainloop()</code>
Dans cet exemple, l'espace supplémentaire dans la fenêtre n'est pas utilisé, ce qui fait que les cadres apparaissent alignés à gauche.
Utiliser le poids pour contrôler l'expansion
Maintenant, attribuons un poids de 1 à la première colonne :
<code class="python">root.grid_columnconfigure(0, weight=1)</code>
La réexécution du programme démontrera que le cadre de la première colonne s'agrandit pour remplir l'espace supplémentaire, tandis que le deuxième cadre reste fixe. En effet, le poids affecte la façon dont l'espace excédentaire est réparti entre les colonnes ou les lignes.
Proportions de poids
Si plusieurs colonnes ou lignes ont des poids, l'espace supplémentaire est divisé proportionnellement à leurs poids. Par exemple, si nous définissons le poids de la première colonne sur 1 et de la deuxième colonne sur 3, l'espace supplémentaire sera distribué avec un rapport de 1:3, garantissant un alignement cohérent lors du redimensionnement de la fenêtre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!