0

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

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

当运行应用程序并选择一个项目(“selection_changed”事件)时,Treeview 将跳到顶部,因此所选项目将看不见。双击项目进行编辑时也会发生同样的情况。选择一个项目后,我必须向下滚动到所选项目。

我该如何防止这种情况?

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

4

1 回答 1

1

就像@Aran-Fey Treeview 在评论中建议的那样,可以原生滚动并引用文档

如果孩子有本机滚动,请使用 gtk_container_add() 代替此函数

顺便说一下:

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

替换add_with_viewportadd解决问题:

self.codes = Gtk.Treeview()
codeswindow = Gtk.ScrolledWindow()
codeswindow.add(self.codes)
于 2018-03-09T11:40:28.073 回答