无法滚动到TreeView PyGTK / GTK的末尾

时间:2010-08-18 09:36:15

标签: python pygtk gtk gtk2

当我尝试向下滚动到我的TreeView的末尾时,它在ScrolledWindow中,它不会滚动到它应该的位置,而是之前的一行或两行。

我尝试了几种方法,它们都提供相同的行为:

self.wTree.get_widget("tree_last_log").scroll_to_cell((self.number_results-1,))
# or 
self.wTree.get_widget("tree_last_log").set_cursor((self.number_results-1,))
# or 
adj = self.wTree.get_widget("scrolledwindow1").get_vadjustment()
adj.set_value(adj.get_property('upper'))
self.wTree.get_widget("scrolledwindow1").set_vadjustment(adj)
# or 
self.wTree.get_widget("scrolledwindow1").emit('scroll-child', gtk.SCROLL_END, False)

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

C API文档可能会有所帮助: http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-scroll-to-cell

你可以看到那里的参数会搞砸,取决于pygtk如何默认它们。您可以尝试明确指定所有参数。

TreeView和TextView的一个技巧是它们进行异步布局,因此如果尚未计算行高,调整的“上限”可能只为零。

如果搞乱调整,就没有必要把它调回来,虽然它应该是无害的。

'scroll-child'信号不是您想要的,这是用于绑定密钥的键绑定信号。

相关问题