La taille des fenêtres Tkinter peut être contrôlé par les méthodes suivantes:Comment régler la hauteur et la largeur minimale et maximale d'un cadre?
.minsize()
.maxsize()
.resizable()
Y at-il des moyens équivalents pour contrôler la taille des Tkinter ou TTK Cadres?
@Bryan: J'ai changé votre code frame1.pack à ce qui suit:
frame1.pack(fill='both', expand=True)
frame1.bind('<Configure>', maxsize)
Et j'ai ajouté ce gestionnaire d'événements:
# attempt to prevent frame from growing past a certain size
def maxsize(event=None):
print frame1.winfo_width()
if frame1.winfo_width() > 200:
print 'frame1 wider than 200 pixels'
frame1.pack_propagate(0)
frame1.config(width=200)
return 'break'
Le gestionnaire d'événements ci-dessus détecte que la largeur d'un cadre est trop grand, mais est incapable d'empêcher l'augmentation de la taille de se produire. Est-ce une limitation de Tkinter ou ai-je mal compris votre explication?
Je pense que vous avez mal compris. Mon explication indiquait que si vous empaquetez avec expand à False et fill sur sans, le frame aura une largeur statique et ne grossira pas ou ne rétrécira pas. Si le cadre change de taille en raison de son parent, le paramètre pack_propagate sur le cadre n'a aucun effet, vous devez le définir sur le parent. pack_propagate définit uniquement si le cadre change de taille en fonction de son contenu, et non en fonction de son parent. –
@Brian: Merci pour votre suivi. Je comprends maintenant. – Malcolm