Окна верхнего уровня Tkinter, по-видимому, имеют два «режима»: где размер определяется приложением и где пользователь контролирует размер. Рассмотрим этот код:
from tkinter import *
class Test(Frame):
def __init__(self,parent):
Frame.__init__(self,parent)
self.b1 = Button(self, text="Button 1",command=self.b1Press)
self.b1.pack()
def b1Press(self):
print("b1Press")
label = Label(self, text="Label")
label.pack()
root = Tk()
ui = Test(root)
ui.pack(fill='both', expand=1)
root.mainloop()
Каждый раз, когда я нажимаю кнопку, видимое окно меняет размер, чтобы соответствовать дополнительной метке. Однако, если я изменяю размер окна вручную (с помощью мыши), это останавливает автоматическое изменение размера, и с этого момента мне приходится вручную изменять размер окна, чтобы просматривать новые кнопки по мере их добавления.
Что определяет, находится ли размер окна верхнего уровня под контролем приложения или пользователя?
Как приложение может автоматически восстановить размеры после изменения размера вручную?