我想编辑通过按钮以编程方式选择的 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')
关于python - 如何在不删除 QListWidget 项进行编辑和添加的情况下编辑它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127547/