Возникла проблема с заменой функции setData() , когда наследую модель от QStandartItemModel. Переопределил только функции flags() и setData().
При попытке изменить поле некой строчки в дереве происходит откат. Т.е. если раньше в поле было написано 'Yaya', я вписываю 'Nono', по нажатию Enter в поле снова записано 'Yaya'.
Сигнал dataChanged(QModelIndex&, QModelIndex&) я вызываю, но все равно не получается.
В чем может быть проблема?
Может быть надо какую-то еще функцию переопределить?
def setData(self, index, value, role=QtCore.Qt.EditRole):
if role != QtCore.Qt.EditRole:
return False
if index.column() == 0:
value = str(value.toString())
if index.row() == 0:
self.contCubes.setName(value, index.row())
if index.row() == 1:
self.indCubes.setName(value, index.row())
result = True
if index.column() == 3:
value = int(value)
if index.row() == 0:
self.contCubes.changeUndefValue(value, index.row())
if index.row() == 1:
self.indCubes.changeUndefValue(value, index.row())
result = True
if result:
self.dataChanged.emit(index, index)
return result