pyqt4:从 QListWidget 中删除项目的更少迂回方式?

发布于 2024-11-08 06:13:44 字数 209 浏览 0 评论 0原文

我想删除一个我知道名称的项目。我想出了:

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

有没有更直接的方法来做到这一点?更接近lw.removeItem(name)

I want to remove an item whose name I know. I came up with:

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

Is there any more direct way of doing this? Something closer to lw.removeItem(name)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温馨耳语 2024-11-15 06:13:45

这给具有相同文本的多个条目留下了一些歧义。我更倾向于类似这样的操作

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

,这将从列表中删除所有与名称匹配的项目。如果您只想删除第一个实例,则需要将其扩展为在第一个匹配处中断的完整 for 循环。

祝你好运!

This leaves a bit of ambiguity for multiple entries with the same text. I would lean more toward something like

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

This will remove all items matching name from the list. If you only want to remove the first instance, you need to expand this into a full for-loop that breaks at the first match.

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文