如何在不删除 QListWidget 项进行编辑和添加的情况下编辑它?

How can I edit a QListWidget item without removing it to edit and adding back?

我想编辑通过按钮以编程方式选择的 listWidget 项目。我不完全确定是否有一种方法可以编辑选定的项目,而不必删除原始项目并重新添加新的编辑。

我看到了这个...但我不确定这是我需要的,因为我无法传入新值:

selItems = listWidget.selectedItems()

for item in selItems:
    listWidget.editItem(item, "test")

TypeError: QListWidget.editItem(QListWidgetItem): too many arguments

当您希望用户编辑项目时,使用 editItem 方法。如果该项目是可编辑的,默认情况下,它将在单元格中创建一个 QLineEdit 小部件供用户编辑文本,除非您已经创建了 QItemDelegate 来创建一个不同的小部件用于编辑。

要更改项目的文本,只需使用 setText()。您可以使用 text() 获取项目的当前文本。

sel_items = listWidget.selectedItems()

for item in sel_items:
    item.setText(item.text() + ' plus more text')