PyQt4:如何迭代QListWidget中的所有项目

问题描述

我也不知道MIME类型是什么,也找不到方便的方法。但是您可以编写一个简单的方法,例如:

def iterallItems(self):
    for i in range(self.count()):
        yield self.item(i)

甚至是懒惰的(生成器)。

解决方法

当前,我在继承QtGui.QListWidget的类中使用以下while循环来迭代所有项目:

    i = 0
    while i < self.count():
        item = self.item(i)

        i += 1

我希望可以使用:

for item in self.items():

但是items()方法需要一个QMimeData对象,该对象我不知道如何构造以返回所有项目。有没有比上面的while循环更干净的方法?