PyGtk:如何在与CellRendererCombo关联的列表库中对项目进行排序

时间:2012-08-28 12:57:46

标签: gtk pygtk

如何对附加到CellRendererCombo的ListStore中的Items进行排序

cellrenderer_combo = gtk.CellRendererCombo()
...
liststore = gtk.ListStore(str)
    item_list = ["Item1", "Item2", "Item3", "Item4", "Item5", "Item6"]
    for item in item_list:
        liststore.append([item])

self.cellrenderer_combo.set_property("model", self.liststore)

如何按降序排序列表库中的“项目”???

提前致谢。 :)

1 个答案:

答案 0 :(得分:2)

如果项目不会改变,那么只需在将它们添加到列表存储之前对它们进行排序:

item_list = ['These', 'items', 'are', 'not', 'going', 'to', 'change']
item_list.sort(reverse=True)

如果项目将要更改,并且您希望将它们保存在组合框中,请使用gtk.TreeModelSort

sorted = gtk.TreeModelSort(liststore)
self.cellrenderer_combo.props.model = self.liststore