PyQt4 - 从 QListWidget 中删除项目小部件
我有一个 QListWidget,我需要删除一些项目。
根据我的研究,这通常是一件令人不愉快的事情。
我已经阅读了大量的解决方案,但没有一个适用于我的特定场景。
目前,我只有实际的 Item Widgets 需要处理;不是它们的值或索引。
这是因为我通过 .selectedItems()
获取了(需要删除的)项目。
代码如下:
ItemSelect = list(self.ListDialog.ContentList.selectedItems())
for x in range (0, len(ItemSelect)):
print self.ListDialog.ContentList.removeItemWidget(ItemSelect[x])
但是,这根本不执行任何操作。
它不会引发错误,但所选项目不会被删除。
我见过的删除项目的方法需要项目的索引或名称,而我两者都没有。我只有实际的小部件。
我该如何删除它们?
我错过了什么吗?
我正在使用:
Python 2.7.1
PyQt4 空闲 1.8
视窗7
I have a QListWidget and I need to remove some items.
From what I've researched, this is a generally unpleasant thing to do.
I've read a tonne of solutions, but none are applicable to my specific scenario.
At the moment, I only have the actual Item Widgets to deal with; not their values or index.
This is because I obtain the items (needed to be removed) via .selectedItems()
.
Here's the code:
ItemSelect = list(self.ListDialog.ContentList.selectedItems())
for x in range (0, len(ItemSelect)):
print self.ListDialog.ContentList.removeItemWidget(ItemSelect[x])
This does nothing at all, however.
It does not raise an error, but the selected items are not removed.
The methods I've seen for removing items require either the index or the name of the item, neither of which I have. I only have the actual widgets.
How do I remove them?
Am I missing something?
I'm using:
Python 2.7.1
PyQt4
IDLE 1.8
Windows 7
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
takeItem() 应该有效:
takeItem() should work:
从 ListWidget 中删除项目:
Deleting an Item from ListWidget:
这很奇怪,没有一些直接的方法可以从 QListWidget 中删除项目......
试试这个:
That's weird there isn't some direct way to delete items from QListWidget ...
Try this: