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

时间:2016-11-07 18:26:22

标签: python treeview gtk3

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

是否可以告诉TreeModel / TreeView使用我自己的类?当然,我认为我将不得不修改管理我的树的类,但我想要的是当我将一个文件添加到我的类中的文件夹时,它会自动添加到TreeView中,同样的当我删除它,或修改它的名称或属性。

使用Python 2.7.12,Ubuntu 16.04,Gtk3(gi.repository,glade等)

1 个答案:

答案 0 :(得分:2)

您可以让您的类实现TreeModel接口,并直接将其用作模型,而不必在两个类之间同步!

让您的课程延长Gtk.TreeModel,并实施其virtual methods