Как прокрутить вниз TreeView в tkinter

Я имитировал виджет таблицы, используя древовидную структуру в Tkinter. И добавьте полосу прокрутки, связанную с ним. Вопрос в том, что мои данные автоматически добавляются внизу по минутам, и я хочу, чтобы прокрутка всегда прокручивалась вниз. Я знаю, что "text.see(END)" отлично работает в текстовом виджете, но в моем случае виджет дерева не работал. Спасибо вперед!

from tkinter import *
from tkinter import ttk
root = Tk()
treedata = [('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1',       'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1',    'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 2'), ('column 1', 'column 222'), ('column 1', 'column 2')]
column_names = ("heading1", "heading2")

scrollbar = Scrollbar(root)
scrollbar.pack(side="right", fill="y")

tree = ttk.Treeview(root, columns = column_names, yscrollcommand =    scrollbar.set)

for x in treedata:
    tree.insert('', 'end', values =x)
for col in column_names: 
    tree.heading(col, text = col)
scrollbar.config(command=tree.yview)
tree.pack()
#tree.see(END)

root.mainloop() 

person user7544575    schedule 10.02.2017    source источник
comment
Не могли бы вы показать нам свой код?   -  person Jake    schedule 10.02.2017
comment
Я знаю, но когда я ввожу код, я не могу отправить. Могу ли я отправить на вашу электронную почту?   -  person user7544575    schedule 10.02.2017
comment
Наконец-то получилось, коды, которые я добавил. Буду признателен за любую помощь.   -  person user7544575    schedule 10.02.2017


Ответы (1)


Вы можете использовать tree.yview_moveto(1) для отображения нижней части таблицы. Метод yview_moveto принимает в качестве аргумента долю общей (прокручиваемой) высоты виджета, которую вы хотите вывести за пределы экрана вверх.

Таким образом, yview_moveto(0) будет отображать верхнюю часть таблицы, yview_moveto(1) — нижнюю часть, а yview_moveto(0.5) будет настраивать отображение таким образом, чтобы верхняя половина виджета была скрыта.

person j_4321    schedule 10.02.2017