正在 Python 中将自己的树列表与 GTK TreeView/TreeModel 同步

Synchronizing own tree list with GTK TreeView/TreeModel in Python

在我的应用程序中,我有一个 class 来管理我的树(简而言之,就像一个文件系统,其中根包含文件夹,包含文件夹等,还包含文件)。我现在的问题是我有重复的列表,我。 e.管理文件系统的 class,以及单独的 TreeView/TreeModel,我必须在其中使用数据创建树。这是必需的,因为我的 class 具有比树中显示的属性更多的方法和属性。例如,现在,当我删除一个文件时,我会更新我的内部树,并且还必须从 TreeModel 中删除该项目。

是否可以告诉 TreeModel/TreeView 使用我自己的 class?当然,我假设我必须修改管理我的树的 class,但我想要的是,当我将文件添加到 class 中的文件夹时,它将是自动添加到 TreeView 中,与我删除它或修改其名称或属性时相同。

使用 Python 2.7.12、Ubuntu 16.04、Gtk3(gi.repository、林间空地等)

您可以让 class 实现 TreeModel 接口,并直接将其用作模型,根本不需要在两个 class 之间进行同步!

让您的 class 扩展 Gtk.TreeModel,并实施其 virtual methods