我已经得到了一个可排序的树视图工作。单击列使其按升序排序,再次单击使其按降序排序。但是,如果我第三次单击列标题,它会进入某种“未排序”状态,而不是返回到升序状态。我将一个函数连接到列的clicked
信号,并打印出列的get_sort_order()
,并且对于每次单击,我得到SORT_ASCENDING
升序、SORT_DESCENDING
降序和SORT_DESCENDING
“未排序”状态。我的树视图构造是这样的:
self.hsModel = gtk.TreeStore(*[c[0] for c in columns])
self.hsModelFilter = self.hsModel.filter_new()
self.hsModelSort = gtk.TreeModelSort(self.hsModelFilter)
#... define filterfunc ...
self.hsModelFilter.set_visible_func(filterfunc)
self.hsSelect = gtk.TreeView(self.hsModelSort)
cl = gtk.TreeViewColumn(ctitle, renderer, **attrcols)
cl.set_clickable(True)
cl.set_sort_column_id(COL_ACTUALTIME)
#... define sortdate ...
self.hsModelSort.set_sort_func(COL_ACTUALTIME, sortdate)
self.hsModelSort.set_sort_column_id(COL_ACTUALTIME, gtk.SORT_DESCENDING)
我永远不想处于这种“未分类”的状态。我希望它按升序或降序排序。如何摆脱“未分类”状态?