【问题标题】:Can't scroll to the end of TreeView PyGTK / GTK无法滚动到 TreeView PyGTK / GTK 的末尾
【发布时间】:2010-08-18 09:36:15
【问题描述】:

当我尝试向下滚动到 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)

问题出在哪里?

【问题讨论】:

    标签: python pygtk gtk gtk2


    【解决方案1】:

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

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

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

    如果弄乱了调整,没有必要重新设置它,虽然它应该是无害的。

    'scroll-child' 信号不是你想要的,它是一个用于绑定键的键绑定信号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多