2017-02-10 12 views
-1

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

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() 
+1

Не могли бы вы показать нам свой код? – Jake

+0

Я знаю, но когда я ввожу код, я не могу отправить. Могу ли я отправить на ваш адрес электронной почты? – user7544575

+0

Наконец, выработайте, коды, которые я добавил. Любая помощь будет оценена – user7544575

ответ

1

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

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