23

現在、QtGui.QListWidget を継承するクラスで次の while ループを使用して、すべての項目を繰り返します。

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

        i += 1

私は使用できることを望んでいました:

for item in self.items():

しかし、 items() メソッドは、すべてのアイテムを返すように構築する方法がわからない QMimeData オブジェクトを必要としています。上記のwhileループよりもクリーンなアプローチはありますか?

4

6 に答える 6

23

MIME タイプも何なのかわかりませんし、便利なメソッドも見つかりませんでした。ただし、次のような単純なメソッドを記述して実行できます。

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

それは怠け者ですらあります (ジェネレーター)。

于 2011-01-07T20:05:53.390 に答える
13

これを探していたので、2セントを追加するだけです:

itemsTextList =  [str(listWidget.item(i).text()) for i in range(listWidget.count())]
于 2015-12-27T10:24:00.497 に答える
7
items = []
for index in xrange(self.listWidget.count()):
     items.append(self.listWidget.item(index))
于 2011-12-02T07:44:03.820 に答える