pyqt4:调用QStandardItem.setData后,使Qtableview反映更改

时间:2013-10-25 10:41:13

标签: python pyqt qtableview qstandarditemmodel

我正在尝试使用pyqt4构建一个gui,并且无法更新Qtableview上的字段 这是我的代码:

table=QTableView(myqMainWindow)
model=QStandardItemModel(0,1,table)
item1= QStandardItem("123")
model.setItem(0,0,item1)
table.setModel(model) 
item1.setData("321")

现在我遇到的问题是该表在第一列仍显示“123”。我错过了什么让表格反映出变化?

1 个答案:

答案 0 :(得分:3)

仔细查看setData documentation

setData有两个论点:数据角色。除非您要定义自定义角色,否则必须指定一个。在您的情况下,您应该使用DisplayRole

item1.setData("321", QtCore.Qt.DisplayRole)

或者,您可以使用setText

item1.setText("321")