PyQt4:如何迭代QListWidget中的所有项
问题描述
目前,我在继承QtGui.QListWidget的类中使用以下WHILE循环来迭代所有项:
i = 0
while i < self.count():
item = self.item(i)
i += 1
我希望我可以使用:
for item in self.items():
但是Items()方法需要一个QMimeData对象,我不知道如何构造该对象来返回所有项。是否有比上面的WHILE循环更干净的方法?
解决方案
我也不知道MIME类型是怎么回事,我也找不到方便的方法。但是您可以像这样编写一个简单的方法并完成:
def iterAllItems(self):
for i in range(self.count()):
yield self.item(i)
它甚至是懒惰的(生成器)。
相关文章