How To Search Through A Gtk.liststore In Pygtk And Remove Elements?
I have the following code (where store is a gtk.ListStore and titer is a gtk.TreeIter. The docs say that if there is no next row, iter_next() will return None, hence the break when
Solution 1:
The only mistake I notice is store.get_path(titer)[0]
, which will just get the row number of the list model. It should be store.get_value(titer, 0)
.
By the way, your code can be expressed in a simpler style using the (PyGTK-only) TreeModelRow:
for row in store:
if row[0] == item_id:
store.remove(row.iter)
break
Solution 2:
sanity check: make sure there is data in your list store when trying to search it
column_number = 0
search_term = 'foo'
iter_child = tree_model.get_iter_first()
tree_path = Nonewhile iter_child:
if (tree_model.get_value(iter_child, column_number) == search_term):
tree_path = tree_model.get_path(iter_child)
iter_child = tree_model.iter_next(iter_child)
view.row_activated(tree_path, column_number)
view.set_cursor(tree_path, column_number, True)
Post a Comment for "How To Search Through A Gtk.liststore In Pygtk And Remove Elements?"