gpt4 book ai didi

python - 在重新使用 TreeView 后,从 .get_model() 和 .get_path() 获取原始行号

转载 作者:行者123 更新时间:2023-11-28 17:54:05 24 4
gpt4 key购买 nike

所以我有这个 TreeView/TreeStore,我用列表中的数据填充它。我的应用程序仅使用上述列表作为引用数据。 TreeStore 只是为显示而构造的。并且可以通过倾斜列标题来使用 TreeView。因为.set_sort_column_id() 用于初始化每一列。

问题是,下面的代码总是返回显示中点击的行号:

# convert ListStore iter to row number
def rowno(self):
(model, iter) = self.MY_LIST_STORE.get_selection().get_selected()
return model.get_path(iter)[0]

它应该这样做。只要显示原始未排序列表,这对我来说就很好用。重新使用 TreeView(和 TreeStore?)后,显示的行号 (.get_path) 不再对应于我的原始数据存储中的行号。

我怎样才能映射这个?或者我如何找出哪个选定的路径号对应于最初传递的 TreeView 列表中的哪个条目?

(当然,我可以在 TreeStore 中插入一个人造列来保留我原来的行号。但是必须有某种本地方法来实现它吗?)

最佳答案

恭喜,您已经进入了 PyGTK 必须提供的最可怕的东西。我不希望为此获得任何赏金,但我的解决方案围绕将您的模型包装在可排序模型和可过滤模型中。这样,您就可以根据需要获取 3 个嵌套模型的各种路径和迭代器。此处的代码过于极端,但我们在 PyGTKHelpers 中对其进行了概括。轻松使用,或复制以供您自己实现。 Here is the module.

关于python - 在重新使用 TreeView 后,从 .get_model() 和 .get_path() 获取原始行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3743756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com