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 that is found. It is supposed to search through the ListStore
of (int, str)
and remove the one item whose int
component matches item_id.
while True:
if store.get_path(titer)[0] == item_id:
store.remove(titer)
break
else:
titer = store.iter_next(titer)
if titer is None:
break
However, if an element in the middle has previously been deleted, instead of titer.iter_next()
pointing to the next valid element, it points to None. This means that if the element with the right int
value is after the previously deleted item, it never gets found. Is there a correct way to search through a gtk.ListStore
to remove items?