pyqt4: 更简便的方法从QListWidget中移除项目?

0 投票
1 回答
673 浏览
提问于 2025-04-16 18:02

我想删除一个我知道名字的项目。我想到了这个方法:

item = lw.findItems(name, QtCore.Qt.MatchExactly)[0]
lw.takeItem(lw.indexFromItem(item).row())

有没有更直接的方法可以做到这一点?比如说像 lw.removeItem(name) 这样?

1 个回答

1

这段话有点模糊,特别是当有多个相同内容的条目时。我更倾向于使用下面这种方式:

[ lw.takeItem( i ) for i in range( lw.count ) if lw.item( i ).text() == name ]

这段代码会把列表中所有与名字相同的项目都删除。如果你只想删除第一个找到的那个,就需要把它改成一个完整的循环,直到找到第一个匹配的地方就停止。

祝你好运!

撰写回答