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

标签 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)

问题出在哪里?

最佳答案

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

你可以看到那里有一些参数会让事情变得困惑,这取决于 pygtk 如何默认它们。您可以尝试显式指定所有参数。

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

如果干扰了调整,则无需将其重新设置,尽管它应该是无害的。

“scroll-child”信号不是您想要的,它是一个用于绑定(bind)按键的按键绑定(bind)信号。

关于python - 无法滚动到 TreeView PyGTK/GTK 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510705/

相关文章:

python - 如何将 gdb 附加到从 Python 脚本启动的子进程?

python - 使用 Python 和 Mechanize 登录网站

python - 将一串单词变成一个列表,所有单词都分开

python - pygtk:反转 TextView 小部件的颜色

c - 区分两个gtktreeviews

c++ - 使用 OpenCV 编译时出现 Gtk+ 3 错误

python - 使用 docker-compose 启动 Jupyter Notebook 时激活 Docker 容器内的 conda env

python - 在 PyGTK/GObject 中使用枚举属性

python - 使用 pygtk 绘制 2d numpy 像素数据数组的最快方法是什么?

python - 没有缩放 pixbuf 的缩放 PyGTK 图像