如何从PyQt中的QListWidget更新与QListWidgetItem关联的数据?

时间:2017-01-18 16:34:33

标签: python python-2.7 pyqt pyqt4

我的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

0 个答案:

没有答案