PyGObject 和 Gtk.TreeStore / TreeView - 如何访问父元素?



我正在使用PyGObject,我成功地设置了一个TreeStore和一个相应的TreeView。它只是一个简单的单列视图。它将所有帐户列为父帐户,然后您可以单击小三角形并显示文件夹。代码如下所示:

accounts_tree_store = Gtk.TreeStore(str)
treeview_accounts = self.builder.get_object("treeview_accounts")
treeview_accounts.set_model(accounts_tree_store)
renderer = Gtk.CellRendererText()
account_iter = accounts_tree_store.append(None, ["Account1"])
accounts_tree_store.append(account_iter, ["Folder1"])
accounts_tree_store.append(account_iter, ["Folder2"])
accounts_tree_store.append(account_iter, ["Folder3"])
accounts_tree_store.append(account_iter, ["Folder4"])
accounts_tree_store.append(account_iter, ["Folder5"])

然后我添加了这个,以便我可以得到一个选择:

selected_tree = treeview_accounts.get_selection()
selected_tree.connect("changed", Handler().on_tree_select_change) 

我的函数处理程序看起来像这样:

def on_tree_select_change(self, widget, *args):
model, iter = widget.get_selected()            
if iter:
print((model[iter][0]))

现在这一切都很好。但是我还想打印出所选元素的父元素。类似于:"帐户 4 的文件夹 2"。问题是:如何访问父级?是否有某种"get_parent(("函数?我在文档中没有找到任何东西。有谁知道如何做到这一点?

提前感谢!!

>此功能称为iter_parent,如果有父级,iter将返回父级。这是一种model的方法。

model, iter = widget.get_selected()            
parent = model.iter_parent (iter)

最新更新