Différence entre les options" fill "et" expand " pour la méthode Tkinter pack
je sais que c'est trop une question triviale, mais je suis python, et j'ai commencé à utiliser le tkinter
module. En fait, j'ai cherché partout à ce sujet et je ne trouve pas de réponse satisfaisante. J'ai trouvé le suivant:
fill
option: il détermine s'il faut utiliser plus d'espace ou de garder dimensions "personnelles".
expand
option: il s'agit de l'extension du widget parent.
le problème c'est que ces deux sons plus ou moins même. J'ai même essayé quelques exemples en basculant entre les 4 valeurs de fill
et 2 valeurs de expand
mais a reçu plus ou moins la même sortie dans 2 ou 3 cas, en raison de laquelle j'ai cette requête. Toute aide serait appréciée à cet égard. Merci à l'avance!
1 réponses
remplir option indique au gestionnaire que le widget veut remplir tout l'espace attribué. La valeur contrôle la façon de remplir l'espace; signifie que le widget devrait s'étendre à la fois horisontalement et verticalement, X signifie qu'il ne doit s'étendre que de façon horisontale, et O signifie qu'il ne doit s'étendre que verticalement.
le développez option indique au gestionnaire d'attribuer de l'espace supplémentaire pour le widget boîte. Si le widget parent est plus grand que nécessaire pour contenir tous les widgets emballés, tout espace dépassant sera distribué parmi tous les widgets qui ont le développez option définie à une valeur non nulle.
fill
indique au widget de passer à autant d'espace disponible dans la direction spécifiée,expand
dit le maître de tout l'espace qui n'est pas attribué à n'importe quel widget et le distribuer à tous les widgets qui ont un non-zéro expand
valeur.
la différence devient claire quand on exécute cet exemple:
import Tkinter as tk
root = tk.Tk()
root.geometry('200x200+200+200')
tk.Label(root, text='Label', bg='green').pack(expand=1, fill=tk.Y)
tk.Label(root, text='Label2', bg='red').pack(fill=tk.BOTH)
root.mainloop()
Vous pouvez voir que l'étiquette expand=1
est affectée de l'espace disponible, mais uniquement occupe dans la direction indiquée, Y.
L'étiquette fill=tk.BOTH
prend de l'expansion dans les deux directions, mais dispose de moins d'espace.