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

标签 python pyqt qlistwidget

我想编辑通过按钮以编程方式选择的 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/

相关文章:

python - QSlider步进?

python - QListWidget:如何拖放插入带有图标的自定义小部件?

python - 根据键翻译numpy数组中的每个元素

python - 使用 Python Pandas 将列连接到 DataFrame

python - 粘贴到QTableView的字段中

python - 单击其中的小部件 [子] 时如何选择 QListWidgetItem

c++ - 使用 QListWidget 的 Qt 命令日志

python - 如何将 "Body"添加到 python mime 多部分(有附件)电子邮件

python - 带有 tox 的 Travis-ci 在 python2.6、python3.3 和 pypy 上失败

python - 如何将 QTableView 项目方向从垂直更改为水平?