我的QListWidget
有10 QListWidgetItems
。当创建每个QListWidgetItems
时,我会执行以下操作:
item = QtGui.QListWidgetItem("Text to Show")
item.setData(36, "A specific value that is used later")
self.ui.my_list.addItem(item)
现在,稍后在应用程序中,在用户单击按钮后,我想要更新所选项目的文本“稍后使用的特定值”。我试图这样做
ndx = self.ui.my_list.currentRow()
self.ui.my_list.item(ndx).setData(36, "Updated!")
问题是,这不起作用。它不会抛出任何错误,但数据刚刚消失。在我的按钮按下信号中,我有这个代码来查看重新分配之前和之后的值:
ndx = self.ui.my_list.currentRow()
print "Before:", self.ui.my_list.item(ndx).data(36).toPyObject()
self.ui.my_list.item(ndx).setData(36, "Updated!")
print "After:", self.ui.my_list.item(ndx).data(36).toPyObject()
输出:
Before: A specific value that is used later
After:
如何正确更改数据,以便将其保存回QListWidgetItem
?