Tkinter fournit un gestionnaire de géométrie de grille complet pour organiser les widgets dans une fenêtre. Un attribut crucial d'une grille est l'option « poids », qui détermine la manière dont les colonnes et les lignes se développent lorsqu'il y a un surplus d'espace dans le conteneur.
Par défaut, chaque cellule de la grille a un poids de 0, ce qui indique qu'elle doit ne dépasse pas sa taille initiale. Cependant, l'attribution d'un poids non nul à une ligne ou à une colonne déclenche son expansion si de l'espace supplémentaire devient disponible.
Démonstration du poids en action
Considérez le code suivant :
import tkinter as tk root = tk.Tk() root.geometry("200x100") f1 = tk.Frame(root, background="bisque", width=10, height=100) f2 = tk.Frame(root, background="pink", 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()
Ce code crée une fenêtre avec deux cadres, f1 et f2, positionnés côte à côte. Puisqu'aucun poids n'est appliqué aux colonnes, tout espace disponible reste inutilisé.
import tkinter as tk root = tk.Tk() root.geometry("200x100") f1 = tk.Frame(root, background="bisque", width=10, height=100) f2 = tk.Frame(root, background="pink", 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=1) root.mainloop()
L'ajout d'un poids de 1 à la première colonne garantit que lorsque la fenêtre est agrandie, l'espace supplémentaire sera distribué à la première colonne.
import tkinter as tk root = tk.Tk() root.geometry("200x100") f1 = tk.Frame(root, background="bisque", width=10, height=100) f2 = tk.Frame(root, background="pink", 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=1) root.grid_columnconfigure(1, weight=3) root.mainloop()
L'attribution de poids différents aux colonnes permet une répartition proportionnelle de l'espace excédentaire. Dans cet exemple, la deuxième colonne a trois fois le poids de la première, ce qui donne un rapport de 1:3.
La puissance du poids réside dans sa réponse dynamique au redimensionnement de la fenêtre. Au fur et à mesure que la fenêtre s'agrandit, les widgets s'adaptent à l'espace disponible tout en conservant leurs proportions relatives. Cette flexibilité est cruciale pour créer des interfaces utilisateur graphiques réactives et adaptables.
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!