如何在不删除 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')
我想编辑通过按钮以编程方式选择的 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')