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

2022-03-24 00:00:00 python 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)

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

相关文章