我有一个有点复杂的树视图设置。这是视图的设置方式:
self.hsModel = gtk.TreeStore(*[c[0] for c in columns])
self.hsModelFilter = self.hsModel.filter_new()
self.hsModelSort = gtk.TreeModelSort(self.hsModelFilter)
self.hsSelect = gtk.TreeView(self.hsModelSort)
也就是说,我有一个模型,然后我过滤它,然后对它进行排序,然后视图显示排序后的模型。在一个函数中,我在基本模型上附加了一些东西:
iter = self.hsModel.append(None, row)
然后我尝试从树视图()中选择我刚刚添加的内容hsSelect
:
fiter = self.hsModelFilter.convert_child_iter_to_iter(iter)
siter = self.hsModelSort.convert_child_iter_to_iter(None, fiter)
self.hsSelect.get_selection().select_iter(siter)
但是,这有时会出错。我现在无法重现它,但它说 iter 的标记与树模型的标记不匹配。知道我做错了什么吗?