У меня есть некоторые табличные данные, которые я хочу отобразить в таблице. И я хочу иметь возможность сортировать данные, нажимая на заголовки. Все это прекрасно работает, но я не могу понять, как установить начальную сортировку таблицы.
Когда я запускаю приведенный ниже пример, данные представляются в том порядке, в котором я их вставил в ListStore
, это потому, что для сортировки еще не выбран конкретный столбец. Но я бы хотел, чтобы столбец C был выбран для сортировки при запуске приложения.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
class TreeViewExample:
def __init__(self):
self.window = gtk.Window()
self.box = gtk.VBox()
self.window.add(self.box)
data = [
[ 10, 40, 17 ],
[ 20, 30, 14 ],
[ 30, 20, 15 ],
[ 40, 10, 19 ],
]
store = gtk.ListStore(int, int, int)
for row in data:
store.append(row)
treeView = gtk.TreeView()
treeView.set_model(store)
for i, col_name in enumerate('ABC'):
renderer = gtk.CellRendererText()
column = gtk.TreeViewColumn(col_name, renderer, text=i)
column.set_sort_column_id(i)
treeView.append_column(column)
self.box.pack_start(treeView)
self.window.show_all()
def main(self):
gtk.main()
if __name__ == "__main__":
TreeViewExample().main()