Python 如何将gtk.ListStore项与我自己的模型关联

Python 如何将gtk.ListStore项与我自己的模型关联,python,pygtk,gtktreeview,Python,Pygtk,Gtktreeview,我有一个项目对象列表,显示在GtkTreeView中。当用户双击TreeView中项目的行时,我试图打开一个包含项目详细信息的对话框 现在,我通过get_selection()从树状视图(即项目名称)中获取所选值,并在我自己的列表中按名称搜索该项目,以使选择与我自己的模型一致 但是,这感觉不太正确(另外,它假设项目的名称是唯一的),我想知道是否有更优雅的方法来实现它。不是默认模型。您可以尝试使用专门编写的来在后端和表示中使用相同的对象 顺便说一句,它的文档概述了一种使用标准模型(即完全不使用Py

我有一个项目对象列表,显示在
GtkTreeView
中。当用户双击TreeView中项目的行时,我试图打开一个包含项目详细信息的对话框

现在,我通过
get_selection()
从树状视图(即项目名称)中获取所选值,并在我自己的列表中按名称搜索该项目,以使选择与我自己的模型一致


但是,这感觉不太正确(另外,它假设项目的名称是唯一的),我想知道是否有更优雅的方法来实现它。

不是默认模型。您可以尝试使用专门编写的来在后端和表示中使用相同的对象


顺便说一句,它的文档概述了一种使用标准模型(即完全不使用Py gtktree)的替代方法,但我不认为它很优雅。

我最终做的是扩展gtk.ListStore并使用我的自定义列表。我还劫持了append()方法,以便它不仅将[str,str,etc]附加到ListStore中,而且还将实际模型附加到扩展ListStore的类的自定义list属性中

然后,当用户双击该行时,我通过ListStore中该行的索引获取请求的模型,该索引对应于自定义列表中该模型的索引