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)
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)