1

我有一个显示 gtk Treeview 的程序,它有 5-6 列和大量行,因此侧面有一个滚动条。

我想确保如果您退出程序并重新启动它,关闭之前处于最后状态的位置和排序顺序会再次加载。

所以:

  • 如何在树视图中存储所选项目的位置?
  • 如何存储排序顺序?
  • 以及如何在再次显示树视图时将它们带回来,以便它像关闭程序时一样显示列表?

我已经看到了一些关于如何存储所选项目位置的答案,但没有看到如何以同样的方式再次显示它。

如果您对如何做到这一点有任何提示,我将不胜感激。

4

1 回答 1

2

恐怕我是用 C 而不是 Python 回答的,因为那是我所熟悉的。您应该能够很容易地翻译函数名称。您可以使用 and 获取和检索选定的行,gtk_tree_view_get_cursor如果gtk_tree_view_set_cursor您存储路径,则在重新加载数据时它应该是相同的。您可以使用gtk_tree_view_get_columnsg_list_find来查找选择了哪一列。设置光标将滚动窗口,使其可见。这会将视图恢复到保存时的大致状态。如果您想更精确,请尝试查看gtk_scrollable_get_vadjustmentgtk_scrollable_get_hadjustment存储您可以使用的排序顺序gtk_tree_sortable_get_sort_column_id并将其设置为gtk_tree_sortable_set_sort_column_id

我希望这能让你开始,花一些时间熟悉树视图文档是非常值得的。一开始可能有点让人不知所措,但从长远来看,这是值得的。

于 2013-08-05T10:00:15.963 回答