我想编辑通过按钮以编程方式选择的listWidget项目。我不完全确定是否有办法编辑所选项目而无需删除原始项目并重新添加新编辑。
我看到了......但我不确定这是我需要的,因为我无法传递新的价值:
selItems = listWidget.selectedItems()
for item in selItems:
listWidget.editItem(item, "test")
TypeError: QListWidget.editItem(QListWidgetItem): too many arguments
答案 0 :(得分:4)
当您希望用户编辑项目时,使用editItem
方法。如果该项目是可编辑的,则默认情况下,它将在单元格中创建QLineEdit
窗口小部件,供用户编辑文本,除非您创建了QItemDelegate
来创建不同的窗口小部件进行编辑。< / p>
要更改项目的文字,只需使用setText()
即可。您可以使用text()
获取商品的当前文字。
sel_items = listWidget.selectedItems()
for item in sel_items:
item.setText(item.text() + ' plus more text')