Lorsque les modifications de la taille de la fenêtre (et pour d'autres raisons), tkinter se déclenche un événement <Configure>
. Vous pouvez lier à cet événement pour être averti lorsque le widget change de taille.
De la documentation officielle:
Un Configurer événement est envoyé à une fenêtre chaque fois que sa taille, la position ou les changements de largeur de la bordure, et parfois, quand il a changé la position dans l'ordre d'empilement.
Remarque: ceci est vrai pour tous les widgets, pas seulement pour la fenêtre racine. Par exemple, vous pouvez lier au widget canvas ou à tout autre widget.
Exemple:
import tkinter as tk
root = tk.Tk()
label = tk.Label(root, width=20)
label.pack(side="top", fill="both", expand=True, padx=20, pady=20)
def handle_configure(event):
text="window geometry:\n" + root.geometry()
label.configure(text=text)
root.bind("<Configure>", handle_configure)
root.mainloop()
Vous devez faire attention de ne pas changer la taille du widget à partir de la fonction liée ou vous pouvez vous retrouver dans une boucle infinie que l'événement sera déclenché lorsque le widget redimensionne, qui redimensionne le widget, ce qui provoque le déclenchement de l'événement, ...