Zur Verarbeitung von Einträgen in einem gtk.TreeModel bedient man sich in Python üblicherweise der Iteration. Hierbei bietet gtk.TreeModel einige Methoden zur Arbeit damit. Ein übliches Konstrukt sieht damit so aus:
iter = model.get_iter_first() while True: value = model.get_value(iter, 0) # Do something with value iter = model.iter_next(iter) if iter is None: break
Ziemlich umständlich und daher oft auch in dieser etwas vereinfachten Version vorzufinden:
iter = model.get_iter_first() while iter: value = model.get_value(iter, 0) # Do something with value iter = model.iter_next(iter)
Doch wie so oft in Python gibt es eine viel intuitivere und simplere Lösung; gtk.TreeModel implementiert __iter__ und __next__, womit sich das obige Konstrukt auf folgenden Zweizeiler reduzieren lässt.
for row in model: value = row[0]
Bei row handelt es sich um eine gtk.TreeModelRow, welche intuitiven Zugriff auf die Daten der jeweiligen Spalten ermöglicht.