一个专栏中,我知道我的问题已经在这里问:排序默认情况下或一个TreeView编程
How to Programmatically Sort TreeView
但鉴于该链接没有链接什么,我还没有能够有当我的窗口显示时,我的树视图被排序。
这里是我的代码:
treeview = Gtk.TreeView(model=liststore)
col = renderer_text('Nom', 1, store=liststore, sortable=True)
col.set_sort_order(Gtk.SortType.ASCENDING) #??????????????????????????
treeview.append_column(col)
def renderer_text(title, col, editable=False, store=None, sortable=None):
render = Gtk.CellRendererText()
if editable:
render.set_property('editable', True)
render.connect('edited', text_edited, store, col)
column = Gtk.TreeViewColumn(title, render, text=col)
if sortable:
column.set_sort_column_id(col)
return column
的set_sort_order(Gtk.SortType.ASCENDING)将是美妙的,但它不会在没有我的情况下进行排序!
也许你做得对,但列中的对象不知道如何确定它们的排序顺序。相应的类是否有'__cmp__'方法? –
你有第二次打电话吗?看起来你在排序之前排序*,这似乎是一个可疑的事情。 – Veedrac
我认为__cmp__方法没问题。通过单击列标题完成排序时使用它。如何做到这种不点击?我找不到任何资源来修复我的代码。我发现的每件事都是关于gtk2的。 –