self.search_entry = gtk.Entry()
self.search_entry.connect('changed', self.on_entry_refilter)
self.tree_store = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
for node, files in self.files_list:
    parent = self.tree_store.append(None, [node, True])
for f in files:
    self.tree_store.append(parent, [f, True])
self.tree_filter = self.tree_store.filter_new()
self.tree_filter.set_visible_func(self.match_func)
self.treeview = gtk.TreeView(self.tree_filter)
self.renderer0 = gtk.CellRendererText()
self.treeview.insert_column_with_attributes(-1, 'Filename', self.renderer0,
    text=0)
self.treeview.set_search_column(0)
self.treeview.set_search_entry(self.search_entry)
self.treeview.expand_all()
PyGtk How to change TreeView data using filter?