Question

I'm trying to build a gui using pyqt4 and am having trouble updating fields on a Qtableview Here's my code:

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

Now the problem I'm facing is that the table still shows "123" at the first column. What is it that I'm missing to get the table reflect the change?

Était-ce utile?

La solution

Take a closer look at setData documentation.

setData take two arguments : data and role. Unless you want to define a custom role you must specify one. In your case, you should use DisplayRole

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

Alternatively, you could use setText.

item1.setText("321")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top