如何在 tkinter 中滚动到 TreeView 的底部

How To Scroll to the bottom of a TreeView in tkinter

我在 Tkinter 中使用 treeview 模仿了一个 table 小部件。并添加一个链接到它的滚动条。问题是我的数据是按分钟自动添加到底部的,我希望滚动始终滚动到底部。我知道 "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() 

您可以使用tree.yview_moveto(1)来显示table的底部。 yview_moveto 方法将您希望 off-screen 到顶部的总(可滚动)小部件高度的分数作为参数。

因此,yview_moveto(0) 将显示 table 的顶部,yview_moveto(1) 底部,yview_moveto(0.5) 将调整显示,以便小部件已隐藏。