Qt: метод setData в QAbstractItemModel
Я новичок в представлении модели, и я следилэтот урок одновременно проверяя документацию, и я наткнулся на эту маленькую деталь: код учебника, который можно скачатьВот имеет в классе QAbstractItemModel (здесь QAbstractListModel) метод setData, код которого:
def setData(self, index, value, role = QtCore.Qt.EditRole):
if role == QtCore.Qt.EditRole:
row = index.row()
color = QtGui.QColor(value)
if color.isValid():
self.__colors[row] = color
self.dataChanged.emit(index, index)
return True
return False
Согласно объяснениям в руководстве и из того, что я понял из документации, если функция возвращает True, то представление обновляется, если возвращается false, ничего не происходит, но когда я изменил код на:
def setData(self, index, value, role = QtCore.Qt.EditRole):
if role == QtCore.Qt.EditRole:
row = index.row()
color = QtGui.QColor(value)
if color.isValid():
self.__colors[row] = color
self.dataChanged.emit(index, index)
return False # This is what I changed in the code
return False
Я понял, что представление все еще обновляется, если color.isValid (), даже если функция возвращает False. Я неправильно понимаю возвращаемую роль в методе setData или это ошибка?
Для справки я использую PySide 1.2.1, а не PyQt4.