Просто изучаю tkinter и нахожу странное поведение.Моя вертикальная полоса прокрутки светло-серая и содержит темно-серый прямоугольник, который перемещается вверх и вниз по полосе, чтобы показать прогресс. Когда этот код выполняется впервые, темно-серый прямоугольник прогресса отсутствует.Когда я нажимаю стрелку вниз индикатора выполнения, появляется темно-серая рамка, но она остается в верхней части полосы прокрутки, пока я не прокручиваю до конца текста.Только тогда полоса прокрутки, кажется, определяет объем текста в блоке, темно-серый прямоугольник прогресса переходит на нижнюю часть полосы прокрутки и с этого момента работает правильно.Я на машине с Windows и выполняю это в Jupyter Notebook, используя python 3.
Есть ли способ инициализации полосы прокрутки, чтобы он знал, с каким объемом текста он имеет дело?
from tkinter import *
from tkinter import ttk
root = Tk()
root.title('Twitter Timeline')
f = ttk.Frame(root, padding = '3 3 12 12')
f.grid(column=0, row=0, sticky=(N,W,E,S))
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
t = Text(f, width= 100, wrap='word')
t.grid(column = 0, row = 2, sticky="nsew")
t.insert(INSERT, "Begin " + "This is a test " * 800 + " END")
s = ttk.Scrollbar(root, orient=VERTICAL, command=t.yview)
s.grid(column=1, row=0, sticky='nsew')
t['yscrollcommand'] = s.set
for child in f.winfo_children():
child.grid_configure(padx=5, pady=5)
root.mainloop()