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.

Ответы на вопрос(3)

Ваш ответ на вопрос