Getting All Items from QListWidget and QTreeWidget in PyQt4

PyQt4 does not ship with helper methods for enumerating every item in QListWidget or QTreeWidget. Here are two straightforward patterns I found online:

QListWidget:

1
2
for i in range(0, listwidget.count()):
item = listwidget.item(i)

QTreeWidget:

1
2
3
4
5
def tree_items(self, tree):
it = QTreeWidgetItemIterator(tree)
while it.value():
yield it.value()
it += 1

References:

  1. How can I iterate through QListWidget items and work with each item?
  2. Using yield to iterate QTreeWidgetItem