Maison  >  Article  >  développement back-end  >  Comment Tkinter utilise-t-il les pondérations pour gérer la répartition de l'espace dans une mise en page ?

Comment Tkinter utilise-t-il les pondérations pour gérer la répartition de l'espace dans une mise en page ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 18:34:04531parcourir

How Does Tkinter Use Weights to Manage Space Distribution in a Layout?

Développement avec des poids dans Tkinter

Dans Tkinter, le concept de poids contrôle la façon dont l'espace disponible dans une mise en page est réparti entre les colonnes et les lignes . Chaque ligne ou colonne dispose d'une option de grille de poids qui détermine son expansion lorsqu'il y a de l'espace supplémentaire.

Le poids par défaut

Par défaut, toutes les lignes et colonnes ont un poids de 0, indiquant qu'ils ne doivent pas s'étendre pour remplir l'espace. Cela signifie que tout espace supplémentaire restera inutilisé.

Ajout de poids

Un poids non nul entraîne la croissance d'une ligne ou d'une colonne s'il y a de l'espace supplémentaire. La valeur du poids détermine son expansion par rapport aux autres éléments pondérés. Par exemple, un poids de 1 alloue deux fois plus d'espace qu'un poids de 0,5.

Exemple de code

Considérez le code suivant :

<code class="python">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) # no extra space for column 0
root.grid_columnconfigure(1, weight=0) # no extra space for column 1

root.mainloop()</code>

Ce code crée une fenêtre plus grande que les cadres contenus. Étant donné qu'aucune des colonnes n'a de poids, l'espace supplémentaire reste inutilisé.

Utiliser des poids pour développer

Ajouter du poids à une colonne ou à une ligne lui permet de se développer dans l'espace supplémentaire espace. Par exemple, le code suivant donne un poids de 1 à la colonne 0 :

<code class="python">root.grid_columnconfigure(0, weight=1)</code>

Maintenant, l'espace supplémentaire est alloué à la colonne 0, ce qui la rend plus large.

Pondération multiple Éléments

Lorsque plusieurs colonnes ou lignes ont des poids, elles partagent l'espace disponible proportionnellement à leurs poids. Par exemple, pour allouer 1/4 de l'espace à la colonne 0 et 3/4 à la colonne 1, vous pouvez utiliser les poids suivants :

<code class="python">root.grid_columnconfigure(0, weight=1)
root.grid_columnconfigure(1, weight=3)</code>

Il en résulte une mise en page où la colonne 0 représente un quart de la largeur de la colonne 1.

Conclusion

Les poids dans Tkinter offrent un moyen de contrôler la répartition de l'espace au sein d'une mise en page. En attribuant des pondérations aux colonnes ou aux lignes, vous pouvez déterminer comment l'espace disponible est utilisé, permettant ainsi des mises en page flexibles et réactives.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn