在PyQt4中,如何通过名称字符串从QListView\QListWidget
中删除项目?通过字符串名称从QListView QListWidget中删除项目
def deleteItem(itemName):
item = dialog.listWidget.indexFromItem(itemName)
dialog.listWidget.takeItem(item)
这是我这么远,明明喂养字符串indexFromItem
是不工作...
在PyQt4中,如何通过名称字符串从QListView\QListWidget
中删除项目?通过字符串名称从QListView QListWidget中删除项目
def deleteItem(itemName):
item = dialog.listWidget.indexFromItem(itemName)
dialog.listWidget.takeItem(item)
这是我这么远,明明喂养字符串indexFromItem
是不工作...
首先,使用findItems
查找项listWidget
:
items_list = dialog.listWidget.findItems(itemName,Qt.MatchExactly)
这将返回一个匹配的QListWidgetItem
列表与itemName
(如果只有一个项目与itemName
0应该是一个项目的列表)
其次,请致电dialog.listWidget.row()
查找找到的物品的行号。
最后,detele那/使用dialog.listWidget.takeItem()
所以在最后的项目(S),你的作用是这样的:
def deleteItem(itemName):
items_list = dialog.listWidget.findItems(itemName,QtCore.Qt.MatchExactly)
for item in items_list:
r = dialog.listWidget.row(item)
dialog.listWidget.takeItem(r)
同样,你必须确保没有任何物品与相同的名称,否则他们将一起被删除。
so'inventoryList'' listWidget'以及? –
对不起,我正在用通用的替换我自己的变量,并忘记替换它们。修复了问题。 – Nix