如何编辑 QListWidget 项目而不将其删除以进行编辑并添加回来?

Zak*_*k44 4 python pyqt qlistwidget

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

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

selItems = listWidget.selectedItems()

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

TypeError: QListWidget.editItem(QListWidgetItem): too many arguments
Run Code Online (Sandbox Code Playgroud)

Bre*_*bel 6

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

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

sel_items = listWidget.selectedItems()

for item in sel_items:
    item.setText(item.text() + ' plus more text')
Run Code Online (Sandbox Code Playgroud)