Ваш код показывает, что вы не пытались использовать полосу прокрутки.
См. Пример ниже:
import tkinter as tk
root = tk.Tk()
ybar= tk.Scrollbar(root)
event_text=tk.Text(root, height=10, width=10)
ybar.config(command=event_text.yview)
event_text.config(yscrollcommand=ybar.set)
event_text.grid(row=0, column=0)
ybar.grid(row=0, column=1, sticky="ns")
for i in range(100):
event_text.insert("end", "{}\n".format(i))
root.mainloop()
На всякий случай, если вы используете grid()
в исходном коде и забыли его здесь, в вашем примере, ваша проблема, вероятно, связана с columnspan=5
.
Если вы сделаете это со своим текстовым виджетом, он будет располагаться в верхней части полосы прокрутки.
Попробуйте использовать что-то подобное при использовании columnspan:
import tkinter as tk
root = tk.Tk()
ybar= tk.Scrollbar(root)
event_text=tk.Text(root, height=10, width=10)
ybar.config(command=event_text.yview)
event_text.config(yscrollcommand=ybar.set)
event_text.grid(row=0, column=0, columnspan=5)
ybar.grid(row=0, column=5, sticky="ns")
for i in range(100):
event_text.insert("end", "{}\n".format(i))
root.mainloop()