Treeview在选择或编辑项目

时间:2018-03-09 10:49:40

标签: python gtk gtktreeview gtkscrolledwindow

在我的GTK3窗口中,我有一个包含很多项目的Treeview,所以我让它可以滚动。我正在使用Scrolledwindow:

self.codes = Gtk.Treeview()
codeswindow = Gtk.ScrolledWindow()
codeswindow.add_with_viewport(self.codes)
codeswindow.show()

运行应用程序并选择项目(“selection_changed”事件)时,Treeview将跳转到顶部,因此所选项目将不在视线范围内。双击项目进行编辑时也会出现同样的情况。选择项目后,我必须向下滚动到所选项目。

如何防止这种情况?

可能相关:使用Arrow upArrow down选择项目时,窗口不会滚动。

1 个答案:

答案 0 :(得分:1)

the comment by @Aran-Fey中的建议一样,Treeview可以原生滚动quote from documentation

  

如果孩子有原生滚动,请使用gtk_container_add()而不是此功能

顺便说一下:

  

gtk_scrolled_window_add_with_viewport自版本3.8以来已被弃用,不应在新编写的代码中使用。

add_with_viewport替换add可以解决问题:

self.codes = Gtk.Treeview()
codeswindow = Gtk.ScrolledWindow()
codeswindow.add(self.codes)