Python
model = QtGui.QStandardItemModel()
item = QtGui.QStandardItem()
item.setData("view", QtCore.Qt.DisplayRole)
item.setData("edit", QtCore.Qt.EditRole)
model.appendRow([item])
print (model.data(model.index(0,0), QtCore.Qt.EditRole))
print (model.data(model.index(0,0), QtCore.Qt.DisplayRole))
Получим в итоге:
edit
edit
Т.е. и EditRole и DisplayRole хранят значение из последнего item.setData
Я чего-то не понимаю? Почему item.setData("edit", QtCore.Qt.EditRole) заодно меняет и DisplayRole?
А на кой ляд тогда нужны вообще эти EditRole и DisplayRole?
Я наивно полагал, что для того, чтобы иметь возможность отображать в ячейке таблицы одно значение, а хранить для обработки другое.