3

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

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)

如何按降序对 Liststore 中的“项目”进行排序???

提前致谢。:)

4

1 回答 1

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
于 2012-08-29T00:39:14.357 回答