如何在Tkinter Listbox中插入时添加Autoscroll?

时间:2010-09-13 09:20:42

标签: python listbox scrollbar tkinter

我正在使用列表框(带滚动条)进行记录:

self.listbox_log = Tkinter.Listbox(root, height = 5, width = 0,)
self.scrollbar_log = Tkinter.Scrollbar(root,)

self.listbox_log.configure(yscrollcommand = self.scrollbar_log.set)
self.scrollbar_log.configure(command = self.listbox_log.yview)

现在,当我这样做时:

self.listbox_log.insert(END,str)

我想要选择插入的元素。我试过了:

self.listbox_log.selection_anchor(END)

但这不起作用......请提出解决方案......

2 个答案:

答案 0 :(得分:10)

AFAIK ScrollBar小部件没有自动滚动功能,但在插入新项目后,可以通过调用listBox的{​​{1}}方法轻松实现。如果您需要选择新项目,那么您也可以使用yview()的{​​{1}}方法手动执行此操作。

listbox

答案 1 :(得分:1)

尝试以这种方式做到这一点。 (我复制了另一个问题:如何自动滚动gtk.scrolledwindow?)它对我来说很好。

def on_TextOfLog_size_allocate(self, widget, event, data=None):
    adj = self.scrolled_window.get_vadjustment()
    adj.set_value( adj.upper - adj.page_size )